- Connections write timeouts were incorrectly handled in asynnetc. Fixed.
- Implemented the desired run/drive behaviour: drive waits for what it started run starts, and success waits for everything to finish. This required changes to a lot of files. - Fixed a bug in remob which supressed required messages
This commit is contained in:
14
stdscan.c
14
stdscan.c
@ -846,9 +846,8 @@ int ScanDrive(pScanData self, int iPoint)
|
||||
status = 1;
|
||||
}
|
||||
/* wait for finish */
|
||||
lTask = GetDevexecID(pServ->pExecutor);
|
||||
if (lTask > 0) {
|
||||
TaskWait(pServ->pTasker, lTask);
|
||||
while(DevExecLevelRunning(pServ->pExecutor, RUNDRIVE)){
|
||||
TaskYield(pServ->pTasker);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
@ -890,17 +889,16 @@ int ScanCount(pScanData self, int iPoint)
|
||||
iRet = StartDevice(pServ->pExecutor,
|
||||
"ScanCounter",
|
||||
pDum->pDescriptor,
|
||||
self->pCounterData, self->pCon, self->fPreset);
|
||||
self->pCounterData, self->pCon, RUNDRIVE,
|
||||
self->fPreset);
|
||||
if (!iRet) {
|
||||
SCWrite(self->pCon, "ERROR: Cannot Count, Scan aborted", eLogError);
|
||||
return 0;
|
||||
}
|
||||
SetStatus(eCounting);
|
||||
/* wait for finish */
|
||||
lTask = GetDevexecID(pServ->pExecutor);
|
||||
if (lTask > 0);
|
||||
{
|
||||
TaskWait(pServ->pTasker, lTask);
|
||||
while(DevExecLevelRunning(pServ->pExecutor, RUNDRIVE)){
|
||||
TaskYield(pServ->pTasker);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user