From: Miklos S. <mi...@sz...> - 2010-11-10 13:39:08
|
On Wed, 10 Nov 2010, Goswin von Brederlow wrote: > I've been thinking about this. The reason I use my own loop is twofold: > > 1) I need the buffer to be specially aligned for libaio. > > With splicing that reason goes away. The write() callback gets the > pipe and can tee(2) that into a page aligned buffer. No more need to > align the fuse buffer. > > 2) I need to only process pending requests (may not block) and then have > to go back to my own select(). > > That leaves reason 1. It would be nice to have a non-blocking version of > the main loop. It could even just be a callback that is called after > processing each request. The callback could then only return when there > is another request pending. > > Or am I missing something that is already there? Using your own loop is fine. It's basically just two calls, one receive and one process. The reason they are separate is because of the way the multithreaded loop works (it could perhaps be implemented differently, that's something to think about for libfuse-3). Thanks, Miklos |