A common VFS and a Common conf-system [Part II]
nf2 at scheinwelt.at
Thu Mar 3 03:42:12 EET 2005
Sean Middleditch wrote:
>On Thu, 2005-03-03 at 00:30 +0100, Waldo Bastian wrote:
>>I think there is some misunderstanding here about the separation between
>>daemon and the backends. The question isn't so much about the daemon itself,
>>as well as how the backends run. Do the backends run in a process of
>>themselve, as separate thread in the daemon process or do they time-share the
>>main single thread of the daemon?
>The backends are just shared libraries that are loaded into the daemon
>(or application). The backends are really just event dispatchers and
>receivers - you can run the entire thing off of a poll() loop (or kqueue
>or epoll for higher efficiency if available). The daemon core is just
>an event broker, similar to D-BUS but far simpler and more specialized.
>(The original plan I started cooking up a couple months ago actually
>used D-BUS here.)
>This also makes it possible to use the same backend either in the daemon
>or in the application process itself -
Looks a lot like Gnome-VFS (except that you don't want to use threads). :-)
>Are there any protocol backends you know of that are very difficult to
>implement without using threads?
Just looked at libsmbclient. I didn't see any io-multiplexing features
(But maybe i missed them).
The problem is, that there might be lots of third party libraries which
don't support async io.
And it seems that both Gnome-VFS and KIO use synchronous-IO inside their
backends - with the only little difference that KIO converts it to
callbacks inside the backend code and Gnome-VFS outside (which is better
More information about the xdg