A common VFS and a Common conf-system [Part II]

nf2 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 
IMO).

regards,
Norbert




More information about the xdg mailing list