[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/libgc linux_threads.c,1.3,1.4,
Thong Nguyen <address@hidden> <=