Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-03-26 07:18:01 +0300
committerChristopher Faylor <me@cgf.cx>2003-03-26 07:18:01 +0300
commit85738bf7e3e6ed1c7025fc1c8e53cb7f36d12432 (patch)
treea69fb712ab66237440ae614b0a2227852486fdf7 /winsup
parentb2b9de805fd5d5ddf6de3efb0868f9f464b961c9 (diff)
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.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog67
-rw-r--r--winsup/cygwin/fork.cc1
-rw-r--r--winsup/cygwin/sigproc.cc1
3 files changed, 37 insertions, 32 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index f852c406b..5d221cb7f 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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>
- * thread.h (class List): Move inline code inside class
- declaration.
- (List::forEach): Change callback parameter to template class
- member function pointer.
- (pthread_keys::fixup_before_fork): Change to inline. Use
- List::forEach to fixup keys.
+ * thread.h (class List): Move inline code inside class declaration.
+ (List::forEach): Change callback parameter to template class member
+ function pointer.
+ (pthread_keys::fixup_before_fork): Change to inline. Use List::forEach
+ to fixup keys.
(pthread_keys::fixup_after_fork): Ditto.
(pthread_keys::runAllDestructors): Ditto.
(pthread_key::saveAKey): Remove.
(pthread_key::restoreAKey): Ditto.
(pthread_key::destroyAKey): Ditto.
(pthread_key::run_destructor): Rename to runDestructor.
- (pthread_mutex::fixup_after_fork): Change to inline. Use
- List::forEach to fixup mutexes after a fork.
+ (pthread_mutex::fixup_after_fork): Change to inline. Use List::forEach
+ to fixup mutexes after a fork.
(pthread_mutex::FixupAfterFork): New method.
(pthread_mutex::mutexes): New member.
- (pthread_cond::fixup_after_fork): Change to inline. Use
- List::forEach to fixup conds after a fork.
+ (pthread_cond::fixup_after_fork): Change to inline. Use List::forEach
+ to fixup conds after a fork.
(pthread_cond::FixupAfterFork): New method.
(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.
(pthread_rwlock::FixupAfterFork): New method.
(pthread_rwlock::rwlocks): New member.
- (semaphore::fixup_after_fork): Change to inline. Use
- List::forEach to fixup mutexes after a fork.
+ (semaphore::fixup_after_fork): Change to inline. Use List::forEach to
+ fixup mutexes after a fork.
(semaphore::FixupAfterFork): New method.
(semaphore::semaphores): New member.
(MTinterface::mutexs): Remove.
@@ -34,20 +40,20 @@
(MTinterface::semaphores): Ditto.
(pthread_equal): Add extern "C".
(pthread_mutex_lock): Ditto.
-
- * thread.cc (MTinterface::fixup_after_fork): Change
- fixup_after_fork calls for pthread objects.
+
+ * thread.cc (MTinterface::fixup_after_fork): Change fixup_after_fork
+ calls for pthread objects.
(semaphore::conds): Instantiate.
- (pthread_cond::pthread_cond): Use List::Insert rather than
- custom list code.
- (pthread_cond::~pthread_cond): Use List::Remove rather than
- custom list code.
+ (pthread_cond::pthread_cond): Use List::Insert rather than custom list
+ code.
+ (pthread_cond::~pthread_cond): Use List::Remove rather than custom list
+ code.
(pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
(pthread_rwlock::rwlocks): Instantiate.
- (pthread_rwlock::pthread_crwlock): Use List::Insert rather than
- custom list code.
- (pthread_rwlock::~pthread_rwlock): Use List::Remove rather than
- custom list code.
+ (pthread_rwlock::pthread_crwlock): Use List::Insert rather than custom
+ list code.
+ (pthread_rwlock::~pthread_rwlock): Use List::Remove rather than custom
+ list code.
(pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
(pthread_key::saveAKey): Remove.
(pthread_key::fixup_before_fork): Ditto.
@@ -57,16 +63,15 @@
(pthread_key::runAllDestructors): Ditto.
(pthread_key::run_destructor): Rename to runDestructor.
(pthread_mutex::mutexes): Instantiate.
- (pthread_mutex::pthread_mutex): Use List::Insert rather than
- custom list code.
- (pthread_mutex::~pthread_mutex): Use List::Remove rather than
- custom list code.
+ (pthread_mutex::pthread_mutex): Use List::Insert rather than custom
+ list code.
+ (pthread_mutex::~pthread_mutex): Use List::Remove rather than custom
+ list code.
(pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
(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.
- (semaphores::~semaphore): Use List::Remove rather than custom
- list code.
(semaphore::fixup_after_fork): Rename to FixupAfterFork.
2003-03-22 Christopher Faylor <cgf@redhat.com>
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index a807a34ef..45664ad6d 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -525,7 +525,6 @@ fork_parent (HANDLE& hParent, dll *&first_dll,
/* Fill in fields in the child's process table entry. */
forked->hProcess = pi.hProcess;
forked->dwProcessId = pi.dwProcessId;
- forked->copysigs (myself);
/* Hopefully, this will succeed. The alternative to doing things this
way is to reserve space prior to calling CreateProcess and then fill
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index 51c91c323..124b8d059 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -295,6 +295,7 @@ proc_subproc (DWORD what, DWORD val)
vchild->sid = myself->sid;
vchild->ctty = myself->ctty;
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",
vchild->pid, nchildren, vchild->dwProcessId,