Date: Tue, 6 Feb 2007 22:43:29 GMT From: Roman Divacky <rdivacky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 114132 for review Message-ID: <200702062243.l16MhT15091135@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=114132 Change 114132 by rdivacky@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 */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702062243.l16MhT15091135>