From Marty Kraimer:
I dont have any way to test on a windows SMP system.
Can you add the statement shown in column 1 below and wait for the assert?
STATIC void notifyCallback(CALLBACK *pcallback) { putNotify *ppn=NULL; dbCommon *precord;
callbackGetUser(ppn,pcallback); precord = ppn->paddr->precord; dbScanLock(precord); epicsMutexMustLock(notifyLock); assert(precord->ppnr); if(ppn->state!=putNotifyRestartCallbackRequested && ppn->state!=putNotifyUserCallbackRequested) { printf("notifyCallback bad state %d\\n",ppn->state); } assert(ppn->state==putNotifyRestartCallbackRequested || ppn->state==putNotifyUserCallbackRequested);
From Marty Kraimer:
I dont have any way to test on a windows SMP system.
Can you add the statement shown in column 1 below and wait for the assert?
STATIC void notifyCallback( CALLBACK *pcallback)
{
putNotify *ppn=NULL;
dbCommon *precord;
callbackGet User(ppn, pcallback) ; >precord; precord) ; ustLock( notifyLock) ; precord- >ppnr); >state! =putNotifyResta rtCallbackReque sted =putNotifyUserC allbackRequeste d) { "notifyCallback bad state %d\\n",ppn->state); ppn->state= =putNotifyResta rtCallbackReque sted =putNotifyUserC allbackRequeste d);
precord = ppn->paddr-
dbScanLock(
epicsMutexM
assert(
if(ppn-
&& ppn->state!
printf(
}
assert(
|| ppn->state=