Update of /cvsroot/cppunit/cppunit2/src/opentest
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24218/src/opentest
Modified Files:
sharedmemorytransport.cpp
Log Message:
* better event logging
* fixed bug (incorrect message length when sending second message)
* fixed bug: event not reseted after flushing messageToSent queue.
Index: sharedmemorytransport.cpp
===================================================================
RCS file: /cvsroot/cppunit/cppunit2/src/opentest/sharedmemorytransport.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** sharedmemorytransport.cpp 10 Mar 2006 08:30:33 -0000 1.9
--- sharedmemorytransport.cpp 10 Mar 2006 22:05:46 -0000 1.10
***************
*** 316,319 ****
--- 316,320 ----
void threadMain();
void prepareWaitObjects();
+ const char *getWaitObjectName( DWORD index );
void prepareMessageToSend();
void readAndSendPendingData();
***************
*** 608,612 ****
INFINITE );
event -= WAIT_OBJECT_0;
- OPENTEST_SHMEM_LOG( "Event signaled: %d", event );
if ( event <0 || event > waitObjects_.size() )
{
--- 609,612 ----
***************
*** 621,624 ****
--- 621,627 ----
break; // timeout or abandonned event => child process died.
}
+
+ OPENTEST_SHMEM_LOG( "Event signaled: %s (event#%d)", getWaitObjectName(event), event );
+
if ( waitObjects_[event] == stopEvent_.get() )
{
***************
*** 656,659 ****
--- 659,672 ----
+ const char *
+ SharedMemoryTransportImpl::getWaitObjectName( DWORD index )
+ {
+ CPPTL_ASSERT_MESSAGE( index < 4, "Bad event index" );
+ static const char *names[] = { "stopEvent_", "sendMessageEvent_",
+ "buffers_[0].event_", "buffers_[1].event_" };
+ return names[index];
+ }
+
+
void
SharedMemoryTransportImpl::prepareMessageToSend()
***************
*** 667,670 ****
--- 680,684 ----
CppTL::Mutex::ScopedLockGuard guard( messagesToSendLock_ );
messagesToSend_.swap( messages );
+ sendMessageEvent_.reset();
}
OPENTEST_SHMEM_LOG( "Messaging thread released messagesToSendLock_" );
***************
*** 690,693 ****
--- 704,708 ----
OPENTEST_SHMEM_LOG( "Acquiring shared_->mutex_" );
ScopedMutexLock guard( shared_->mutex_ );
+ OPENTEST_SHMEM_LOG( "Acquired shared_->mutex_" );
readPendingData();
writePendingData();
***************
*** 767,772 ****
case bsSize:
{
! if ( buffer.messageLength_ == 0 )
! buffer.messageLength_ = buffer.stream_.packets().getFirstMessageLength();
Pos toWrite = CPPTL_MIN( available,
--- 782,786 ----
case bsSize:
{
! buffer.messageLength_ = buffer.stream_.packets().getFirstMessageLength();
Pos toWrite = CPPTL_MIN( available,
|