Joe Buehler <jhpb@draco.hekimian.com>
* fork.cc (fork_parent): Don't copy signals from parent to child here. * sigproc.cc (proc_subproc): Copy signals from parent to child pinfo here.
This commit is contained in:
parent
b2b9de805f
commit
85738bf7e3
|
@ -1,31 +1,37 @@
|
||||||
|
2003-03-25 Christopher Faylor <cgf@redhat.com>
|
||||||
|
Joe Buehler <jhpb@draco.hekimian.com>
|
||||||
|
|
||||||
|
* fork.cc (fork_parent): Don't copy signals from parent to child here.
|
||||||
|
* sigproc.cc (proc_subproc): Copy signals from parent to child pinfo
|
||||||
|
here.
|
||||||
|
|
||||||
2003-03-23 Thomas Pfaff <tpfaff@gmx.net>
|
2003-03-23 Thomas Pfaff <tpfaff@gmx.net>
|
||||||
|
|
||||||
* thread.h (class List): Move inline code inside class
|
* thread.h (class List): Move inline code inside class declaration.
|
||||||
declaration.
|
(List::forEach): Change callback parameter to template class member
|
||||||
(List::forEach): Change callback parameter to template class
|
function pointer.
|
||||||
member function pointer.
|
(pthread_keys::fixup_before_fork): Change to inline. Use List::forEach
|
||||||
(pthread_keys::fixup_before_fork): Change to inline. Use
|
to fixup keys.
|
||||||
List::forEach to fixup keys.
|
|
||||||
(pthread_keys::fixup_after_fork): Ditto.
|
(pthread_keys::fixup_after_fork): Ditto.
|
||||||
(pthread_keys::runAllDestructors): Ditto.
|
(pthread_keys::runAllDestructors): Ditto.
|
||||||
(pthread_key::saveAKey): Remove.
|
(pthread_key::saveAKey): Remove.
|
||||||
(pthread_key::restoreAKey): Ditto.
|
(pthread_key::restoreAKey): Ditto.
|
||||||
(pthread_key::destroyAKey): Ditto.
|
(pthread_key::destroyAKey): Ditto.
|
||||||
(pthread_key::run_destructor): Rename to runDestructor.
|
(pthread_key::run_destructor): Rename to runDestructor.
|
||||||
(pthread_mutex::fixup_after_fork): Change to inline. Use
|
(pthread_mutex::fixup_after_fork): Change to inline. Use List::forEach
|
||||||
List::forEach to fixup mutexes after a fork.
|
to fixup mutexes after a fork.
|
||||||
(pthread_mutex::FixupAfterFork): New method.
|
(pthread_mutex::FixupAfterFork): New method.
|
||||||
(pthread_mutex::mutexes): New member.
|
(pthread_mutex::mutexes): New member.
|
||||||
(pthread_cond::fixup_after_fork): Change to inline. Use
|
(pthread_cond::fixup_after_fork): Change to inline. Use List::forEach
|
||||||
List::forEach to fixup conds after a fork.
|
to fixup conds after a fork.
|
||||||
(pthread_cond::FixupAfterFork): New method.
|
(pthread_cond::FixupAfterFork): New method.
|
||||||
(pthread_cond::conds): New member.
|
(pthread_cond::conds): New member.
|
||||||
(pthread_rwlock::fixup_after_fork): Change to inline. Use
|
(pthread_rwlock::fixup_after_fork): Change to inline. Use
|
||||||
List::forEach to fixup rwlocks after a fork.
|
List::forEach to fixup rwlocks after a fork.
|
||||||
(pthread_rwlock::FixupAfterFork): New method.
|
(pthread_rwlock::FixupAfterFork): New method.
|
||||||
(pthread_rwlock::rwlocks): New member.
|
(pthread_rwlock::rwlocks): New member.
|
||||||
(semaphore::fixup_after_fork): Change to inline. Use
|
(semaphore::fixup_after_fork): Change to inline. Use List::forEach to
|
||||||
List::forEach to fixup mutexes after a fork.
|
fixup mutexes after a fork.
|
||||||
(semaphore::FixupAfterFork): New method.
|
(semaphore::FixupAfterFork): New method.
|
||||||
(semaphore::semaphores): New member.
|
(semaphore::semaphores): New member.
|
||||||
(MTinterface::mutexs): Remove.
|
(MTinterface::mutexs): Remove.
|
||||||
|
@ -35,19 +41,19 @@
|
||||||
(pthread_equal): Add extern "C".
|
(pthread_equal): Add extern "C".
|
||||||
(pthread_mutex_lock): Ditto.
|
(pthread_mutex_lock): Ditto.
|
||||||
|
|
||||||
* thread.cc (MTinterface::fixup_after_fork): Change
|
* thread.cc (MTinterface::fixup_after_fork): Change fixup_after_fork
|
||||||
fixup_after_fork calls for pthread objects.
|
calls for pthread objects.
|
||||||
(semaphore::conds): Instantiate.
|
(semaphore::conds): Instantiate.
|
||||||
(pthread_cond::pthread_cond): Use List::Insert rather than
|
(pthread_cond::pthread_cond): Use List::Insert rather than custom list
|
||||||
custom list code.
|
code.
|
||||||
(pthread_cond::~pthread_cond): Use List::Remove rather than
|
(pthread_cond::~pthread_cond): Use List::Remove rather than custom list
|
||||||
custom list code.
|
code.
|
||||||
(pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
|
(pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
|
||||||
(pthread_rwlock::rwlocks): Instantiate.
|
(pthread_rwlock::rwlocks): Instantiate.
|
||||||
(pthread_rwlock::pthread_crwlock): Use List::Insert rather than
|
(pthread_rwlock::pthread_crwlock): Use List::Insert rather than custom
|
||||||
custom list code.
|
list code.
|
||||||
(pthread_rwlock::~pthread_rwlock): Use List::Remove rather than
|
(pthread_rwlock::~pthread_rwlock): Use List::Remove rather than custom
|
||||||
custom list code.
|
list code.
|
||||||
(pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
|
(pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
|
||||||
(pthread_key::saveAKey): Remove.
|
(pthread_key::saveAKey): Remove.
|
||||||
(pthread_key::fixup_before_fork): Ditto.
|
(pthread_key::fixup_before_fork): Ditto.
|
||||||
|
@ -57,16 +63,15 @@
|
||||||
(pthread_key::runAllDestructors): Ditto.
|
(pthread_key::runAllDestructors): Ditto.
|
||||||
(pthread_key::run_destructor): Rename to runDestructor.
|
(pthread_key::run_destructor): Rename to runDestructor.
|
||||||
(pthread_mutex::mutexes): Instantiate.
|
(pthread_mutex::mutexes): Instantiate.
|
||||||
(pthread_mutex::pthread_mutex): Use List::Insert rather than
|
(pthread_mutex::pthread_mutex): Use List::Insert rather than custom
|
||||||
custom list code.
|
list code.
|
||||||
(pthread_mutex::~pthread_mutex): Use List::Remove rather than
|
(pthread_mutex::~pthread_mutex): Use List::Remove rather than custom
|
||||||
custom list code.
|
list code.
|
||||||
(pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
|
(pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
|
||||||
(semaphore::conds): Instantiate.
|
(semaphore::conds): Instantiate.
|
||||||
(semaphore::semaphore): Use List::Insert rather than custom list
|
(semaphore::semaphore): Use List::Insert rather than custom list code.
|
||||||
|
(semaphores::~semaphore): Use List::Remove rather than custom list
|
||||||
code.
|
code.
|
||||||
(semaphores::~semaphore): Use List::Remove rather than custom
|
|
||||||
list code.
|
|
||||||
(semaphore::fixup_after_fork): Rename to FixupAfterFork.
|
(semaphore::fixup_after_fork): Rename to FixupAfterFork.
|
||||||
|
|
||||||
2003-03-22 Christopher Faylor <cgf@redhat.com>
|
2003-03-22 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
|
@ -525,7 +525,6 @@ fork_parent (HANDLE& hParent, dll *&first_dll,
|
||||||
/* Fill in fields in the child's process table entry. */
|
/* Fill in fields in the child's process table entry. */
|
||||||
forked->hProcess = pi.hProcess;
|
forked->hProcess = pi.hProcess;
|
||||||
forked->dwProcessId = pi.dwProcessId;
|
forked->dwProcessId = pi.dwProcessId;
|
||||||
forked->copysigs (myself);
|
|
||||||
|
|
||||||
/* Hopefully, this will succeed. The alternative to doing things this
|
/* Hopefully, this will succeed. The alternative to doing things this
|
||||||
way is to reserve space prior to calling CreateProcess and then fill
|
way is to reserve space prior to calling CreateProcess and then fill
|
||||||
|
|
|
@ -295,6 +295,7 @@ proc_subproc (DWORD what, DWORD val)
|
||||||
vchild->sid = myself->sid;
|
vchild->sid = myself->sid;
|
||||||
vchild->ctty = myself->ctty;
|
vchild->ctty = myself->ctty;
|
||||||
vchild->process_state |= PID_INITIALIZING | (myself->process_state & PID_USETTY);
|
vchild->process_state |= PID_INITIALIZING | (myself->process_state & PID_USETTY);
|
||||||
|
vchild->copysigs (myself);
|
||||||
|
|
||||||
sigproc_printf ("added pid %d to wait list, slot %d, winpid %p, handle %p",
|
sigproc_printf ("added pid %d to wait list, slot %d, winpid %p, handle %p",
|
||||||
vchild->pid, nchildren, vchild->dwProcessId,
|
vchild->pid, nchildren, vchild->dwProcessId,
|
||||||
|
|
Loading…
Reference in New Issue