* thread.cc (InterlockedExchangePointer): Don't define if it already exists.
This commit is contained in:
parent
37f75da24d
commit
c729f22799
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue