diff options
author | mav <mav@FreeBSD.org> | 2015-03-27 08:55:54 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-03-27 08:55:54 +0000 |
commit | 1265da624b5256bd9e9b0bccf3704e59cb93b3fd (patch) | |
tree | 981b678b38e0afd4a6c6decbb1416a68dc46cb49 /usr.sbin | |
parent | 77dd65195c59b0caea466a0bf997eecd4ddd6078 (diff) | |
download | FreeBSD-src-1265da624b5256bd9e9b0bccf3704e59cb93b3fd.zip FreeBSD-src-1265da624b5256bd9e9b0bccf3704e59cb93b3fd.tar.gz |
MFC r280042: Close potential race on blockif_close().
Reported by: vangyzen
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/bhyve/block_if.c | 2 |
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); |