viced: Set HWHO_INPROGRESS in CheckHost_r

When we are probing a host in CheckHost_r, set the HWHO_INPROGRESS
flag on the host, so other threads know that the host is locked while
we are waiting for a probe response, and the h_threadquota mechanism
can work correctly.

Change-Id: I37e3b37ea98d8d42578bf85a3b5aaaff4c4a7331
Reviewed-on: http://gerrit.openafs.org/4126
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
Andrew Deason 2011-03-04 11:35:06 -06:00 committed by Derrick Brashear
parent 0d1335ad71
commit 64d52938ee

View File

@ -3837,6 +3837,7 @@ CheckHost_r(struct host *host, int flags, void *dummy)
if (host->LastCall < checktime) {
h_Lock_r(host);
if (!(host->hostFlags & HOSTDELETED)) {
host->hostFlags |= HWHO_INPROGRESS;
cb_conn = host->callback_rxcon;
rx_GetConnection(cb_conn);
if (host->LastCall < clientdeletetime) {
@ -3904,6 +3905,7 @@ CheckHost_r(struct host *host, int flags, void *dummy)
rx_PutConnection(cb_conn);
cb_conn=NULL;
H_LOCK;
host->hostFlags &= ~HWHO_INPROGRESS;
}
h_Unlock_r(host);
}