|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
asynchronous fsync()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 _______________________________________________ State-threads-devel mailing list State-threads-devel@... https://lists.sourceforge.net/lists/listinfo/state-threads-devel |
|
|
Re: asynchronous fsync()> Is there any way to make fsync() asynchronous
My first guess would be No, because ST requires non-blocking I/O and descriptors to disk files can't be made non-blocking. But I'll talk with Gene about it. You mentioned async I/O but that's its own can of worms. I've never relied on SIGIO; let me know how it works for you :). If I were faced with this I would do the typical ST thing and spawn a persistent helper process. ------------------------------------------------------- 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 _______________________________________________ State-threads-devel mailing list State-threads-devel@... https://lists.sourceforge.net/lists/listinfo/state-threads-devel |
|
|
Re: asynchronous fsync()* Mike Abbott <mja63@...> [060307 09:04] wrote:
> > Is there any way to make fsync() asynchronous > > My first guess would be No, because ST requires non-blocking I/O and > descriptors to disk files can't be made non-blocking. But I'll talk > with Gene about it. You mentioned async I/O but that's its own can of > worms. I've never relied on SIGIO; let me know how it works for you :). > > If I were faced with this I would do the typical ST thing and spawn a > persistent helper process. You're right, you'd need a helper process to do this. fsync(2) can not be made async. -- - Alfred Perlstein - CTO Okcupid.com / FreeBSD Hacker / All that jazz - ------------------------------------------------------- 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 _______________________________________________ State-threads-devel mailing list State-threads-devel@... https://lists.sourceforge.net/lists/listinfo/state-threads-devel |
| Free embeddable forum powered by Nabble | Forum Help |