Re: vfsmm transfer() functions trouble



So, I had a look at the source code of Async::Handle::transfer() and I saw that the result of the C-API call to gnome_vfs_async_xfer() is checked and if it's not equal to GNOME_VFS_OK, an exception is thrown.

But doesn't that only work if the gnome_vfs_async_xfer() doesn't return until it's finished? Since I suppose that gnome_vfs_async_xfer() runs in an own thread of execution, it's pretty useless to check its result right?

(I also browsed through the code of the C API, but I was not able to figure out what exactly this function does; its body merely consists of a pointer-to-function definition which seems to never be called and a call of some odd macro which I couldn't yet figure out what it does)

On top of that, throwing exceptions across thread boundaries is also not possible; I can't catch an exception in one thread which was thrown in another thread.

On the other hand, since I suppose you know what you're doing, maybe I am missing something? :D

I also wondered about the proxy object you're creating which never gets deleted. Why is that needed?

Would be nice if you could at least give me some hints... Unfortunately, this newsgroup doesn't seem to be very active/responsive though.

Best regards,
Matthias




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]