Re: vfsmm transfer() functions trouble

Matthias Kaeppler <[email protected]> Fri, 26 Aug 2005 11:58:42 +0200
Newsgroups gmane.comp.gnome.gnomemm
Message-ID <[email protected]>
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