diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-04-08 07:11:38 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-04-08 07:11:38 +0000 |
commit | 40a47f6fafa6172a751302f3410144dd2c0c1c59 (patch) | |
tree | 86824e69aadf8c4796447f852be29145b37be188 | |
parent | 215fb1852903bfe9f68fb46b4da3ec73b5353093 (diff) | |
download | ATCD-40a47f6fafa6172a751302f3410144dd2c0c1c59.tar.gz |
*** empty log message ***
-rw-r--r-- | apps/JAWS/server/IO.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/apps/JAWS/server/IO.cpp b/apps/JAWS/server/IO.cpp index ef3e9e0230f..f3e675b53e6 100644 --- a/apps/JAWS/server/IO.cpp +++ b/apps/JAWS/server/IO.cpp @@ -180,7 +180,7 @@ JAWS_Asynch_IO::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result // This callback is for this->receive_file() { int code = 0; - if (result.success ()) + if (result.success () && result.bytes_transferred () != 0) { if (result.message_block ().length () == result.message_block ().size ()) code = HTTP_Status_Code::STATUS_OK; @@ -195,20 +195,23 @@ JAWS_Asynch_IO::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result else return; } - if (code == HTTP_Status_Code::STATUS_OK) - this->handler_->receive_file_complete (); - else - this->handler_->receive_file_error (code); - - delete &result.message_block (); - JAWS_VFS_Node *vf = (JAWS_VFS_Node *) result.act (); - VFS::instance ()->close (vf); } + else + code = HTTP_Status_Code::STATUS_INTERNAL_SERVER_ERROR; + + if (code == HTTP_Status_Code::STATUS_OK) + this->handler_->receive_file_complete (); + else + this->handler_->receive_file_error (code); + + delete &result.message_block (); + JAWS_VFS_Node *vf = (JAWS_VFS_Node *) result.act (); + VFS::instance ()->close (vf); } else { // This callback is for this->read() - if (result.success ()) + if (result.success () && result.bytes_transferred () != 0) this->handler_->client_data (result.message_block ()); else this->handler_->read_error (); |