Module Name:    src
Committed By:   skrll
Date:           Mon Dec 26 08:21:09 UTC 2016

Modified Files:
        src/sys/fs/puffs: puffs_msgif.c

Log Message:
Hold the interlock when calling cv_broadcast as per condvar(9)


To generate a diff of this commit:
cvs rdiff -u -r1.99 -r1.100 src/sys/fs/puffs/puffs_msgif.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/fs/puffs/puffs_msgif.c
diff -u src/sys/fs/puffs/puffs_msgif.c:1.99 src/sys/fs/puffs/puffs_msgif.c:1.100
--- src/sys/fs/puffs/puffs_msgif.c:1.99	Thu Jul  7 06:55:42 2016
+++ src/sys/fs/puffs/puffs_msgif.c	Mon Dec 26 08:21:09 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: puffs_msgif.c,v 1.99 2016/07/07 06:55:42 msaitoh Exp $	*/
+/*	$NetBSD: puffs_msgif.c,v 1.100 2016/12/26 08:21:09 skrll Exp $	*/
 
 /*
  * Copyright (c) 2005, 2006, 2007  Antti Kantee.  All Rights Reserved.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: puffs_msgif.c,v 1.99 2016/07/07 06:55:42 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: puffs_msgif.c,v 1.100 2016/12/26 08:21:09 skrll Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -429,9 +429,9 @@ puffs_msg_enqueue(struct puffs_mount *pm
 	park->park_flags |= PARKFLAG_ONQUEUE1;
 	pmp->pmp_msg_touser_count++;
 	park->park_refcount++;
-	mutex_exit(&pmp->pmp_lock);
 
 	cv_broadcast(&pmp->pmp_msg_waiter_cv);
+	mutex_exit(&pmp->pmp_lock);
 	putter_notify(pmp->pmp_pi);
 
 	DPRINTF(("touser: req %" PRIu64 ", preq: %p, park: %p, "

Reply via email to