Module Name: src Committed By: pooka Date: Wed Jan 5 22:57:02 UTC 2011
Modified Files: src/lib/librumpuser: rumpuser_sp.c Log Message: Release sender lock before zeroing out "wanted" status during violent disconnect. Fixes some race conditions (maybe the one occasionally showing up on tests/rump/rumpkern/t_stress). thanks to schmonz for some discussion To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/lib/librumpuser/rumpuser_sp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/librumpuser/rumpuser_sp.c diff -u src/lib/librumpuser/rumpuser_sp.c:1.29 src/lib/librumpuser/rumpuser_sp.c:1.30 --- src/lib/librumpuser/rumpuser_sp.c:1.29 Wed Jan 5 17:14:50 2011 +++ src/lib/librumpuser/rumpuser_sp.c Wed Jan 5 22:57:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser_sp.c,v 1.29 2011/01/05 17:14:50 pooka Exp $ */ +/* $NetBSD: rumpuser_sp.c,v 1.30 2011/01/05 22:57:01 pooka Exp $ */ /* * Copyright (c) 2010, 2011 Antti Kantee. All Rights Reserved. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: rumpuser_sp.c,v 1.29 2011/01/05 17:14:50 pooka Exp $"); +__RCSID("$NetBSD: rumpuser_sp.c,v 1.30 2011/01/05 22:57:01 pooka Exp $"); #include <sys/types.h> #include <sys/atomic.h> @@ -425,6 +425,7 @@ pthread_mutex_lock(&spc->spc_mtx); spc->spc_state = SPCSTATE_DYING; kickall(spc); + sendunlockl(spc); pthread_mutex_unlock(&spc->spc_mtx); /*