DragonFly commits List (threaded) for 2013-03
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: async_rcvd: Fix possible deadlock
commit d4cbc55116b8cf96243f52483e50d48e08a50bf2
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date: Mon Mar 11 09:50:05 2013 +0800
async_rcvd: Fix possible deadlock
It is possible when we try dropping the asynchronized rcvd message, the
message is not on the msgport yet, but sendmsg_stage1 is done, i.e.
MSG_DONE is cleared. Originally we were waiting for the MSG_DONE to be
set, however, it will _never_ be set, since the message dropping is done
in the netisr and the MSG_DONE will only be turned on when the message
is dequeued and runs in the _same_ netisr.
Fixing this deadlock by keeping dropping the asynchronized rcvd message,
if the message's MSG_DONE flag is not set.
Reported-by: pavalos@
Summary of changes:
sys/kern/uipc_msg.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d4cbc55116b8cf96243f52483e50d48e08a50bf2
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]