OSDN Git Service

Tue Sep 11 18:15:00 2001 Robert Collins <rbtcollins@hotmail.com>
authorrbcollins <rbcollins>
Tue, 11 Sep 2001 08:15:39 +0000 (08:15 +0000)
committerrbcollins <rbcollins>
Tue, 11 Sep 2001 08:15:39 +0000 (08:15 +0000)
commit93e07090fb219ea5b1848d9960cfda90e27a2ebb
tree9840bfb0f94d95e7e40a07623db6c9b222028ac7
parent4d60fc53a8f9da8108d7f24ac1b64a89cf2c17ca
Tue Sep 11 18:15:00 2001  Robert Collins <rbtcollins@hotmail.com>

        * dcrt0.cc (cygwin_finished_initializing): Copy _mtinterf on fork;
        * fork.cc (fork_child): fixup thread-related structures after fork;
        * thread.cc (MTinterface::Init): Initialise the new mutex, condition and semaphore lists.
        (MTinterface::fixup_after_fork): Iterate through each list and fixup the objects.
        (pthread_cond::pthread_cond): Add this to the condition list.
        (pthread_cond::~pthread_cond): Remove this from the condition list.
        (pthread_cond::fixup_after_fork): Recreate as best we can the pre-fork state.
        (pthread_mutex::pthread_mutex): Add this to the mutex list.
        (pthread_mutex::~pthread_mutex): Remove this from the mutex list.
        (pthread_mutex::fixup_after_fork): Recreate as best we can the pre-fork state.
        (semaphore::semaphore): Store the initial value, and add this to the semaphore list.
        (semaphore::~semaphore): Remove this from the semaphore list.
        (semaphore::Post): Increment the current semaphore value.
        (semaphore::TryWait): Decrement the current semaphore value.
        (semaphore::Wait): Ditto.
        (semaphote::fixup_after_fork): Recreate the pre-fork state as best we can.
        * thread.h (pthread_mutex): New members to allow fixup_after_fork.
        (pthread_cond): Ditto.
        (semaphore): Ditto.
        (MTinterface): New list heads for tracking conds and semaphores.
winsup/cygwin/ChangeLog
winsup/cygwin/dcrt0.cc
winsup/cygwin/fork.cc
winsup/cygwin/thread.cc
winsup/cygwin/thread.h