* thread.cc (InterlockedExchangePointer): Don't define if it already exists.

This commit is contained in:
Christopher Faylor 2001-09-04 20:48:45 +00:00
parent 37f75da24d
commit c729f22799
3 changed files with 26 additions and 18 deletions

View File

@ -1,3 +1,8 @@
Tue Sep 4 16:48:14 2001 Christopher Faylor <cgf@cygnus.com>
* thread.cc (InterlockedExchangePointer): Don't define if it already
exists.
Tue Sep 4 22:14:00 2001 Corinna Vinschen <corinna@vinschen.de> Tue Sep 4 22:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
* uname.cc (uname): Eliminate os specific retrieving of x86 * uname.cc (uname): Eliminate os specific retrieving of x86

View File

@ -543,10 +543,10 @@ int
dtable::vfork_child_dup () dtable::vfork_child_dup ()
{ {
fhandler_base **newtable; fhandler_base **newtable;
SetResourceLock (LOCK_FD_LIST, WRITE_LOCK | READ_LOCK, "dup");
newtable = (fhandler_base **) ccalloc (HEAP_ARGV, size, sizeof (fds[0])); newtable = (fhandler_base **) ccalloc (HEAP_ARGV, size, sizeof (fds[0]));
int res = 1; int res = 1;
SetResourceLock(LOCK_FD_LIST, WRITE_LOCK | READ_LOCK, "dup");
for (size_t i = 0; i < size; i++) for (size_t i = 0; i < size; i++)
if (not_open (i)) if (not_open (i))
continue; continue;
@ -561,6 +561,7 @@ dtable::vfork_child_dup ()
fds_on_hold = fds; fds_on_hold = fds;
fds = newtable; fds = newtable;
out: out:
ReleaseResourceLock (LOCK_FD_LIST, WRITE_LOCK | READ_LOCK, "dup"); ReleaseResourceLock (LOCK_FD_LIST, WRITE_LOCK | READ_LOCK, "dup");
return 1; return 1;

View File

@ -1150,7 +1150,9 @@ __pthread_atforkchild (void)
/*FIXME: implement InterlockExchangePointer and get rid of the silly typecasts below /*FIXME: implement InterlockExchangePointer and get rid of the silly typecasts below
*/ */
#ifndef InterlockedExchangePointer
#define InterlockedExchangePointer InterlockedExchange #define InterlockedExchangePointer InterlockedExchange
#endif
/*Register a set of functions to run before and after fork. /*Register a set of functions to run before and after fork.
*prepare calls are called in LI-FC order. *prepare calls are called in LI-FC order.