[ace-users] JAWS generated error message when switching IO strategy from Synch to Asynch on FreeBSD 6

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Thu Aug 23 19:53:18 CDT 2007


Hi Fan,

> I realized that JAWS didn't support Asynchronous IO on UNIX after
> digging into the source code.
>
> JAWS2 does support AIO on UNIX. but there are bugs in JAWS2. First for
> ACE_Asynch_Transmit_File, you must give header before you call: io-
> >transmit_file (handler, info->path (), "", 0, "", 0); inside
> HTTP_10_write.cpp. otherwise you will get erro message like:
> ACE_POSIX_Asynch_Write_Stream::write:Attempt to write 0 bytes etc..
> 
> second: ACE_Message_Block's constructor:
> ACE_Message_Block::ACE_Message_Block (const char *data, size_t size,
> unsigned long priority) has a bug, if you pass a string which include
> "\r\n", message_block will fail to consruct itself. I didn't look at
> code to figure out where is the bug.
>
>After fix forementioned bug, JAWS2 works on FreeBSD 6 with AIO. 

If you could send us patches based on the latest version of JAWS2 that
would be super.  Please see

http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/apps/JAWS2

for the latest.

Thanks,

        Doug
-- 
Dr. Douglas C. Schmidt                       Professor and Associate Chair
Electrical Engineering and Computer Science  TEL: (615) 343-8197
Vanderbilt University                        WEB: www.dre.vanderbilt.edu/~schmidt
Nashville, TN 37203                          NET: d.schmidt at vanderbilt.edu



More information about the Ace-users mailing list