dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/libgc linux_threads.c,1.3,1.4


From: Thong Nguyen <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/libgc linux_threads.c,1.3,1.4
Date: Sun, 06 Jul 2003 05:19:39 -0400

Update of /cvsroot/dotgnu-pnet/pnet/libgc
In directory subversions:/tmp/cvs-serv16964/libgc

Modified Files:
        linux_threads.c 
Log Message:
Fix GC thread creation and engine monitor-locking bugs under linux.


Index: linux_threads.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/libgc/linux_threads.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** linux_threads.c     6 Feb 2003 01:35:45 -0000       1.3
--- linux_threads.c     6 Jul 2003 09:19:36 -0000       1.4
***************
*** 1702,1712 ****
      /* with it.  Thus it doesn't matter whether it is otherwise               
*/
      /* visible to the collector.                                      */
          while (0 != sem_wait(&(si -> registered))) {
            if (EINTR != errno) ABORT("sem_wait failed");
        }
!         sem_destroy(&(si -> registered));
!       LOCK();
!       GC_INTERNAL_FREE(si);
!       UNLOCK();
  
      return(result);
--- 1702,1715 ----
      /* with it.  Thus it doesn't matter whether it is otherwise               
*/
      /* visible to the collector.                                      */
+     if (result == 0) {
          while (0 != sem_wait(&(si -> registered))) {
            if (EINTR != errno) ABORT("sem_wait failed");
        }
!     }
!  
!     sem_destroy(&(si -> registered));
!     LOCK();
!     GC_INTERNAL_FREE(si);
!     UNLOCK();
  
      return(result);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]