fixed problems with ca clear channel protocol during reload of the access security file.
See https://bugs.launchpad.net/epics-base/+bug/1091401.
This commit is contained in:
@@ -1992,6 +1992,15 @@ static int clear_channel_reply ( caHdrLargeArray *mp,
|
||||
cas_commit_msg ( client, 0u );
|
||||
SEND_UNLOCK(client);
|
||||
|
||||
/*
|
||||
* remove from access control list
|
||||
*/
|
||||
status = asRemoveClient(&pciu->asClientPVT);
|
||||
if(status != 0 && status != S_asLib_asNotActive){
|
||||
errMessage(status, RECORD_NAME(&pciu->addr));
|
||||
return RSRV_ERROR;
|
||||
}
|
||||
|
||||
epicsMutexMustLock ( client->chanListLock );
|
||||
if ( pciu->state == rsrvCS_inService ||
|
||||
pciu->state == rsrvCS_pendConnectResp ) {
|
||||
@@ -2011,15 +2020,6 @@ static int clear_channel_reply ( caHdrLargeArray *mp,
|
||||
}
|
||||
epicsMutexUnlock( client->chanListLock );
|
||||
|
||||
/*
|
||||
* remove from access control list
|
||||
*/
|
||||
status = asRemoveClient(&pciu->asClientPVT);
|
||||
if(status != 0 && status != S_asLib_asNotActive){
|
||||
errMessage(status, RECORD_NAME(&pciu->addr));
|
||||
return RSRV_ERROR;
|
||||
}
|
||||
|
||||
LOCK_CLIENTQ;
|
||||
status = bucketRemoveItemUnsignedId (pCaBucket, &pciu->sid);
|
||||
if(status != S_bucket_success){
|
||||
|
||||
Reference in New Issue
Block a user