summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bhyve
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2015-03-27 08:55:54 +0000
committermav <mav@FreeBSD.org>2015-03-27 08:55:54 +0000
commit1265da624b5256bd9e9b0bccf3704e59cb93b3fd (patch)
tree981b678b38e0afd4a6c6decbb1416a68dc46cb49 /usr.sbin/bhyve
parent77dd65195c59b0caea466a0bf997eecd4ddd6078 (diff)
downloadFreeBSD-src-1265da624b5256bd9e9b0bccf3704e59cb93b3fd.zip
FreeBSD-src-1265da624b5256bd9e9b0bccf3704e59cb93b3fd.tar.gz
MFC r280042: Close potential race on blockif_close().
Reported by: vangyzen
Diffstat (limited to 'usr.sbin/bhyve')
-rw-r--r--usr.sbin/bhyve/block_if.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c
index 68a9bae..58960ca 100644
--- a/usr.sbin/bhyve/block_if.c
+++ b/usr.sbin/bhyve/block_if.c
@@ -579,7 +579,9 @@ blockif_close(struct blockif_ctxt *bc)
/*
* Stop the block i/o thread
*/
+ pthread_mutex_lock(&bc->bc_mtx);
bc->bc_closing = 1;
+ pthread_mutex_unlock(&bc->bc_mtx);
pthread_cond_broadcast(&bc->bc_cond);
for (i = 0; i < BLOCKIF_NUMTHR; i++)
pthread_join(bc->bc_btid[i], &jval);
OpenPOWER on IntegriCloud