[email protected]
[Top] [All Lists]

Re: PERFORCE change 114132 for review

Subject: Re: PERFORCE change 114132 for review
From: Divacky Roman
Date: Tue, 6 Feb 2007 23:50:19 +0100
On Tue, Feb 06, 2007 at 10:43:29PM +0000, Roman Divacky wrote:
> http://perforce.freebsd.org/chv.cgi?CH=114132
> 
> Change 114132 by [email protected]_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);
>  
> 

grrrr.. I accidentally commited the fix for the LOR caused by holding 2 sx locks
(emul_lock and proctree_lock).
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/p4-projects
To unsubscribe, send any mail to "[email protected]"

<Prev in Thread] Current Thread [Next in Thread>