OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_73_3-63-g3ad9c55
Gerrit Code Review
gerrit@openafs.org
Sat, 17 Apr 2010 07:10:06 -0700 (PDT)
The following commit has been merged in the master branch:
commit 3ad9c5583845986979a25d615a9640770a3bf9f6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Fri Apr 16 22:42:34 2010 -0400
Rx: make conn_call_lock and conn_data_lock usage consistent
The rx_connection.flags field is protected by the conn_data_lock
but the conn_data_lock is not held everywhere the conn flags
field is altered. This produces a race that can result in a
deadlock when waiter flags are inadvertently prevented from being
cleared.
The conn_call_lock usage in rx_EndCall which was removed in
Change e169708681eb1bbbb31951b95f68e861a4b01c7e must be restored.
If rx_EndCall never obtains the conn_call_lock it can't ensure
that the thread in rx_NewCall actively checking the calls will
not end up blocking when there is now a call channel that can
be reused. This usage of conn_call_lock can be removed only
if a true producer/consumer model is implemented.
Change-Id: Id093fd6c4a42afb833c775411be0cd406abf4ef7
Reviewed-on: http://gerrit.openafs.org/1766
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/rx/rx.c | 11 ++++++++++-
src/rx/rx.h | 2 +-
2 files changed, 11 insertions(+), 2 deletions(-)
--
OpenAFS Master Repository