diamond version of port locking because of probplems with tpmac driver

This commit is contained in:
zimoch
2010-10-27 11:38:25 +00:00
parent 494661c0e7
commit 8252b629f5

View File

@ -531,9 +531,15 @@ void AsynDriverInterface::
lockHandler() lockHandler()
{ {
int connected; int connected;
asynStatus status;
debug("AsynDriverInterface::lockHandler(%s)\n", debug("AsynDriverInterface::lockHandler(%s)\n",
clientName()); clientName());
pasynManager->blockProcessCallback(pasynUser, false); pasynManager->blockProcessCallback(pasynUser, false);
status = pasynManager->lockPort(pasynUser);
if(status!=asynSuccess) {
debug("Failed locking port");
}
connected = connectToAsynPort(); connected = connectToAsynPort();
lockCallback(connected ? StreamIoSuccess : StreamIoFault); lockCallback(connected ? StreamIoSuccess : StreamIoFault);
} }
@ -542,8 +548,13 @@ lockHandler()
bool AsynDriverInterface:: bool AsynDriverInterface::
unlock() unlock()
{ {
asynStatus unlockStatus;
debug("AsynDriverInterface::unlock(%s)\n", debug("AsynDriverInterface::unlock(%s)\n",
clientName()); clientName());
unlockStatus = pasynManager->unlockPort(pasynUser);
if (unlockStatus != asynSuccess) {
debug("Failed unlocking port");
}
pasynManager->unblockProcessCallback(pasynUser, false); pasynManager->unblockProcessCallback(pasynUser, false);
return true; return true;
} }