diff options
author | jxh <jxh@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-10-12 18:23:10 +0000 |
---|---|---|
committer | jxh <jxh@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-10-12 18:23:10 +0000 |
commit | 17b31a8b05f922c0eb0f2bdd4ad7dee8f111c21a (patch) | |
tree | ea0740a613b8b973e03ef96cb710dab127a7ae75 /ace/Asynch_IO.cpp | |
parent | 61d24cb233702017e066784ca745910912020395 (diff) | |
download | ATCD-17b31a8b05f922c0eb0f2bdd4ad7dee8f111c21a.tar.gz |
* Asynch_IO.cpp: Minor changes to deal with FMR error.
* Message_Block.{cpp,i,h}: Changed rd_ptr_ and wr_ptr_ to be byte offsets
from base (). This allows one to resize a duplicate without trashing
other Message_Blocks that may be referring to the same data block.
* Proactor.cpp: Made the message block 64 bytes bigger to make purify
happier.
Diffstat (limited to 'ace/Asynch_IO.cpp')
-rw-r--r-- | ace/Asynch_IO.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/ace/Asynch_IO.cpp b/ace/Asynch_IO.cpp index 5bc572fa8e0..4d4c98802d4 100644 --- a/ace/Asynch_IO.cpp +++ b/ace/Asynch_IO.cpp @@ -219,6 +219,7 @@ ACE_Asynch_Operation::register_aio_with_proactor (aiocb *aiocb_ptr) // Store the pointers. this->proactor_->aiocb_list_[ai] = aiocb_ptr; this->proactor_->aiocb_list_cur_size_ ++; + return 0; } #endif /* ACE_HAS_AIO_CALLS */ @@ -1336,7 +1337,7 @@ ACE_Asynch_Transmit_Handler::ACE_Asynch_Transmit_Handler (ACE_Asynch_Transmit_Fi ACE_Asynch_Transmit_Handler::~ACE_Asynch_Transmit_Handler (void) { delete result_; - delete mb_; + mb_->release (); } // Do the transmission. @@ -1375,11 +1376,16 @@ ACE_Asynch_Transmit_Handler::transmit (void) while (!error && !this->transmit_file_done_) error = this->proactor_->handle_events (); - if (!error && this->transmit_file_done_) - // No error, transmission done. - return 0; + if (!error) + { + // No error, transmission done. + delete this; + return 0; + } else - return -1; + { + return -1; + } } void @@ -1456,7 +1462,6 @@ ACE_Asynch_Transmit_Handler::handle_write_stream (const ACE_Asynch_Write_Stream: ACE_SEH_FINALLY { transmit_file_done_ = 1; - delete this; } break; |