PERFORCE change 114132 for review
Roman Divacky
rdivacky at FreeBSD.org
Tue Feb 6 22:43:36 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=114132
Change 114132 by rdivacky at rdivacky_witten on 2007/02/06 22:43:08
Remove forgotten EMUL_UNLOCK in getppid().
Affected files ...
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#33 edit
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#55 edit
Differences ...
==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#33 (text+ko) ====
@@ -168,19 +168,20 @@
/* reparent all procs that are not a thread leader to initproc */
if (em->shared->group_pid != p->p_pid) {
- sx_xlock(&proctree_lock);
- wakeup(initproc);
+ child_clear_tid = em->child_clear_tid;
+ EMUL_UNLOCK(&emul_lock);
+ sx_xlock(&proctree_lock);
+ wakeup(initproc);
PROC_LOCK(p);
proc_reparent(p, initproc);
p->p_sigparent = SIGCHLD;
PROC_UNLOCK(p);
- sx_xunlock(&proctree_lock);
+ sx_xunlock(&proctree_lock);
+ } else {
+ child_clear_tid = em->child_clear_tid;
+ EMUL_UNLOCK(&emul_lock);
}
- child_clear_tid = em->child_clear_tid;
-
- EMUL_UNLOCK(&emul_lock);
-
EMUL_SHARED_WLOCK(&emul_shared_lock);
LIST_REMOVE(em, threads);
==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#55 (text+ko) ====
@@ -1502,7 +1502,6 @@
printf("getppid: thread group leader not found.\n");
#endif
td->td_retval[0] = 1;
- EMUL_UNLOCK(&emul_lock);
return (0);
}
pp = p->p_pptr; /* switch to parent */
More information about the p4-projects
mailing list