asynchronous fsync()

Claus Assmann <[email protected]> Sun, 5 Mar 2006 16:23:27 -0800
Newsgroups gmane.comp.lib.state-threads.devel
Message-ID <[email protected]>
Is there any way to make fsync() asynchronous in the context of
statethreads? Currently a process that uses fsync() will block until
fsync() returns thus preventing any other operations from occuring.
Some OSs provide aio_fsync() but so far I have seen only aio_return()
to check for the status of an asynchronous I/O operation, not some
mechanism to get notified when the operation finished. SIGIO might
be another approach to the problem, but signals have their own
problems.

What I would like to see is some support in statethreads to make
fsync() a scheduling point, just like read()/write() for network
I/O. Any pointers/suggestions to accomplish this are welcome!

PS: I know I can use multiple processes to mitigate the problem,
but I am curious whether that limitation of statethreads can be
solved within the library itself (even if it's not portable but
only available for some OSs).


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642