From: Vlad S. <vl...@cr...> - 2006-01-02 03:41:06
|
Tried it, nsd started crashing and i am guessing that the problem is combination of aio_write and mmap. When is start spooling, i just submit aio_write and return immediately, so there are a lot of quick aio_write calls. By the time i reach mmap, it looks like it's always ahead of actual writing, so even when i am trying to check aio_error/aio_fsync in the NsGetRequest, i still get SIGBUS/SIGSEGV when i access reqPtr->content, looks like mmap and aio_write are out of sync. And there is no way to wait until all file buffers will be flushed, so manual separate thread implementation could be the only portable solution. Or i just do not understand aio_xxx things completely. Zoran Vasiljevic wrote: > > Am 31.12.2005 um 20:12 schrieb Vlad Seryakov: > >> aio_read/aio_write system calls look like supported ubnder Linux >> > > yes. most of modern os's support some kind of kaio. > I have checked solaris, linux and darwin and all do. > the problem with spawning yet another thread is > system resources. each new thread (on solaris) > results in an lwp which is not cheap. therfore I'd > opt to use aio for largefile spooling. > > Zoran > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > naviserver-devel mailing list > nav...@li... > https://lists.sourceforge.net/lists/listinfo/naviserver-devel > -- Vlad Seryakov 571 262-8608 office vl...@cr... http://www.crystalballinc.com/vlad/ |