Assorted bug fixes
- If SctProcessNode ran into a timeout, its action data wa sdeleted. If data came later, this caused SICS to crash. This is now fixed - sget leaked connections under certain circumstances - Cosmetic fix to hipadaba.c - yet another chnage to the TRICS file format in fourmess.c, now it prints magnetic field instead of the proton count
This commit is contained in:
+12
-1
@@ -1620,8 +1620,19 @@ static int SctProcessCmd(pSICSOBJ ccmd, SConnection * con,
|
||||
startTime = time(NULL);
|
||||
DevQueue(c->devser, data, WritePRIO,
|
||||
SctWriteHandler, SctTransactMatch, NULL, SctDataInfo);
|
||||
while (data->busy == 1 && time(NULL) < startTime + 20) {
|
||||
|
||||
while (data->busy == 1){
|
||||
TaskYield(pServ->pTasker);
|
||||
if(time(NULL) >= startTime + 20) {
|
||||
/*
|
||||
if data would still come after such a long timeout, it
|
||||
might end up in the next action: see comment in devser.c
|
||||
*/
|
||||
SCPrintf(con,eError,"ERROR: timeout processing node %s", par[0]->value.v.text);
|
||||
DevRemoveAction(c->devser,data);
|
||||
SctKillData(data);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
SctKillData(data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user