summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordchagin <dchagin@FreeBSD.org>2011-01-30 18:17:38 +0000
committerdchagin <dchagin@FreeBSD.org>2011-01-30 18:17:38 +0000
commit6115f650ded7de27c2d37bab30f26d54eef9a990 (patch)
tree7de3b431c26a54e8e7d4cdc114d608a83da09ee9
parent1b9efc11bae1a54c61d8bd59f9344c4004c505fb (diff)
downloadFreeBSD-src-6115f650ded7de27c2d37bab30f26d54eef9a990.zip
FreeBSD-src-6115f650ded7de27c2d37bab30f26d54eef9a990.tar.gz
The kern_wait() code already removes the SIGCHLD signal for the waited
process. Removing other SIGCHLD signals is not needed and may cause problems. Pointed out by: jilles MFC after: 1 Month.
-rw-r--r--sys/amd64/linux32/linux32_machdep.c7
-rw-r--r--sys/i386/linux/linux_machdep.c7
2 files changed, 0 insertions, 14 deletions
diff --git a/sys/amd64/linux32/linux32_machdep.c b/sys/amd64/linux32/linux32_machdep.c
index d6961da..986322e 100644
--- a/sys/amd64/linux32/linux32_machdep.c
+++ b/sys/amd64/linux32/linux32_machdep.c
@@ -1283,7 +1283,6 @@ linux_wait4(struct thread *td, struct linux_wait4_args *args)
int error, options;
struct rusage ru, *rup;
struct l_rusage lru;
- struct proc *p;
#ifdef DEBUG
if (ldebug(wait4))
@@ -1304,12 +1303,6 @@ linux_wait4(struct thread *td, struct linux_wait4_args *args)
error = linux_common_wait(td, args->pid, args->status, options, rup);
if (error)
return (error);
-
- p = td->td_proc;
- PROC_LOCK(p);
- sigqueue_delete(&p->p_sigqueue, SIGCHLD);
- PROC_UNLOCK(p);
-
if (args->rusage != NULL) {
bsd_to_linux_rusage(rup, &lru);
error = copyout(&lru, args->rusage, sizeof(lru));
diff --git a/sys/i386/linux/linux_machdep.c b/sys/i386/linux/linux_machdep.c
index 2c6c57b..af2665b 100644
--- a/sys/i386/linux/linux_machdep.c
+++ b/sys/i386/linux/linux_machdep.c
@@ -1318,7 +1318,6 @@ linux_wait4(struct thread *td, struct linux_wait4_args *args)
{
int error, options;
struct rusage ru, *rup;
- struct proc *p;
#ifdef DEBUG
if (ldebug(wait4))
@@ -1339,12 +1338,6 @@ linux_wait4(struct thread *td, struct linux_wait4_args *args)
error = linux_common_wait(td, args->pid, args->status, options, rup);
if (error)
return (error);
-
- p = td->td_proc;
- PROC_LOCK(p);
- sigqueue_delete(&p->p_sigqueue, SIGCHLD);
- PROC_UNLOCK(p);
-
if (args->rusage != NULL)
error = copyout(&ru, args->rusage, sizeof(ru));
OpenPOWER on IntegriCloud