Date: Wed, 7 Feb 2007 18:58:11 GMT From: Roman Divacky <rdivacky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 114200 for review Message-ID: <200702071858.l17IwBGj041287@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=114200 Change 114200 by rdivacky@rdivacky_witten on 2007/02/07 18:57:25 Move the free() out of the emul_shared_lock coverage as its not sleepable lock anymore. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#35 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#35 (text+ko) ==== @@ -187,9 +187,11 @@ LIST_REMOVE(em, threads); em->shared->refs--; - if (em->shared->refs == 0) + if (em->shared->refs == 0) { + EMUL_SHARED_WUNLOCK(&emul_shared_lock); free(em->shared, M_LINUX); - EMUL_SHARED_WUNLOCK(&emul_shared_lock); + } else + EMUL_SHARED_WUNLOCK(&emul_shared_lock); if (child_clear_tid != NULL) { struct linux_sys_futex_args cup; @@ -274,9 +276,11 @@ PROC_UNLOCK(p); em->shared->refs--; - if (em->shared->refs == 0) + if (em->shared->refs == 0) { + EMUL_SHARED_WUNLOCK(&emul_shared_lock); free(em->shared, M_LINUX); - EMUL_SHARED_WUNLOCK(&emul_shared_lock); + } else + EMUL_SHARED_WUNLOCK(&emul_shared_lock); free(em, M_LINUX); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702071858.l17IwBGj041287>