diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-11-20 09:02:38 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-11-20 09:02:38 +0000 |
commit | 178cb03e620e7f736fb6529a888b5b7f68464ec9 (patch) | |
tree | 149af0bd72a8d602a27435dd5ee136c6ffd31e19 | |
parent | a7790f2bc72d0302ed1c7230b97d8da5b5f8e6bb (diff) | |
download | ATCD-178cb03e620e7f736fb6529a888b5b7f68464ec9.tar.gz |
!!
-rw-r--r-- | ChangeLog-96b | 11 | ||||
-rw-r--r-- | ace/OS.cpp | 64 | ||||
-rw-r--r-- | examples/Shared_Malloc/test_multiple_mallocs.cpp | 3 | ||||
-rw-r--r-- | tests/UPIPE_SAP_Test.cpp | 6 |
4 files changed, 47 insertions, 37 deletions
diff --git a/ChangeLog-96b b/ChangeLog-96b index 059be169848..cf8cdc458bc 100644 --- a/ChangeLog-96b +++ b/ChangeLog-96b @@ -1,3 +1,11 @@ +<<<<<<< ChangeLog-96b +Wed Nov 20 02:38:40 1996 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/UPIPE_SAP_Test.cpp: Disabled this test if we don't have + threads and (STREAM Pipes or Win32). Thanks to Thilo Kielmann's + <kielmann@informatik.uni-siegen.de> for this info. + +======= Tue Nov 19 23:09:08 1996 Tim H. Harrison <harrison@lambada.cs.wustl.edu> * ace/Log_Record.cpp (print): Added a call to ACE_OS::fflush @@ -6,8 +14,11 @@ Tue Nov 19 23:09:08 1996 Tim H. Harrison <harrison@lambada.cs.wustl.edu> We're unsure of the affects this will have on performance, so we may change this back in the future. +>>>>>>> 4.30 Tue Nov 19 00:06:57 1996 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + * Released a beta version of ACE 4.0.33 for testing. + * ace/TTY_IO.h: Added the ACE_Export macro before the ACE_TTY_IO class to make things work correctly for Win32 DLLs. Thanks to William L. Gerecke <gerecke@rayva.org> for fixing this. diff --git a/ace/OS.cpp b/ace/OS.cpp index e1536cb94e1..1bb7b060fd1 100644 --- a/ace/OS.cpp +++ b/ace/OS.cpp @@ -299,49 +299,47 @@ ACE_Recursive_Thread_Mutex ACE_TSS_Cleanup::lock_; void ACE_TSS_Cleanup::exit (void *status) { -// ACE_TRACE ("ACE_TSS_Cleanup::exit"); + // ACE_TRACE ("ACE_TSS_Cleanup::exit"); - { - ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, ACE_TSS_Cleanup::lock_); + ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, ACE_TSS_Cleanup::lock_); - // Prevent recursive deletions (note that when a recursive mutex - // is first acquired it has a nesting level of 1...). - if (ACE_TSS_Cleanup::lock_.get_nesting_level () > 1) - return; + // Prevent recursive deletions (note that when a recursive mutex + // is first acquired it has a nesting level of 1...). + if (ACE_TSS_Cleanup::lock_.get_nesting_level () > 1) + return; - ACE_thread_key_t key_arr[TLS_MINIMUM_AVAILABLE]; - int index = 0; + ACE_thread_key_t key_arr[TLS_MINIMUM_AVAILABLE]; + int index = 0; - ACE_TSS_Info *key_info = 0; + ACE_TSS_Info *key_info = 0; - // Iterate through all the thread-specific items and free them all - // up. + // Iterate through all the thread-specific items and free them all + // up. - for (ACE_TSS_TABLE_ITERATOR iter (this->table_); - iter.next (key_info) != 0; - iter.advance ()) - { - void *tss_info = 0; + for (ACE_TSS_TABLE_ITERATOR iter (this->table_); + iter.next (key_info) != 0; + iter.advance ()) + { + void *tss_info = 0; - int val = key_info->ref_table_.remove (ACE_TSS_Ref (ACE_OS::thr_self ())); + int val = key_info->ref_table_.remove (ACE_TSS_Ref (ACE_OS::thr_self ())); - if ((ACE_OS::thr_getspecific (key_info->key_, &tss_info) == 0) - && (key_info->destructor_) - && tss_info) - // Probably need to have an exception handler here... - (*key_info->destructor_) (tss_info); + if ((ACE_OS::thr_getspecific (key_info->key_, &tss_info) == 0) + && (key_info->destructor_) + && tss_info) + // Probably need to have an exception handler here... + (*key_info->destructor_) (tss_info); - if (key_info->ref_table_.size () == 0 - && key_info->tss_obj_ == 0) - key_arr[index++] = key_info->key_; - } + if (key_info->ref_table_.size () == 0 + && key_info->tss_obj_ == 0) + key_arr[index++] = key_info->key_; + } - for (int i = 0; i < index; i++) - { - ::TlsFree (key_arr[i]); - this->table_.remove (ACE_TSS_Info (key_arr[i])); - } - } + for (int i = 0; i < index; i++) + { + ::TlsFree (key_arr[i]); + this->table_.remove (ACE_TSS_Info (key_arr[i])); + } #if 0 ::ExitThread ((DWORD) status); diff --git a/examples/Shared_Malloc/test_multiple_mallocs.cpp b/examples/Shared_Malloc/test_multiple_mallocs.cpp index 37845d25a44..ebedd12ae49 100644 --- a/examples/Shared_Malloc/test_multiple_mallocs.cpp +++ b/examples/Shared_Malloc/test_multiple_mallocs.cpp @@ -1,7 +1,8 @@ +// $Id$ + // Test the capabilities of the ACE shared memory manager in terms of // its ability to handle multiple mallocs rooted at different base // addresses. -// $Id$ #include "ace/Malloc.h" #include "ace/Synch.h" diff --git a/tests/UPIPE_SAP_Test.cpp b/tests/UPIPE_SAP_Test.cpp index 72bbc80871c..b96a527be50 100644 --- a/tests/UPIPE_SAP_Test.cpp +++ b/tests/UPIPE_SAP_Test.cpp @@ -1,6 +1,6 @@ -// ============================================================================ // $Id$ +// ============================================================================ // // = LIBRARY // tests @@ -151,7 +151,7 @@ main (int, char *argv[]) { ACE_START_TEST ("UPIPE_SAP_Test.cpp"); -#if defined (ACE_HAS_THREADS) +#if defined (ACE_HAS_THREADS) && (defined (ACE_HAS_STREAM_PIPES) || defined (ACE_WIN32)) // Spawn a peer2 thread. if (ACE_Service_Config::thr_mgr ()->spawn (ACE_THR_FUNC (peer2), (void *) 0, @@ -161,7 +161,7 @@ main (int, char *argv[]) // Wait for peer2 and peer1 threads to exit. ACE_Service_Config::thr_mgr ()->wait (); #else - ACE_ERROR ((LM_ERROR, "threads not supported on this platform\n")); + ACE_ERROR ((LM_ERROR, "threads and/or UPIPE not supported on this platform\n")); #endif /* ACE_HAS_THREADS */ ACE_END_TEST; return 0; |