diff --git a/src/seq/seq_task.c b/src/seq/seq_task.c index a36f826747fb92c422c6c87fc4a1fbf3b53ac420..0fdf379e684ef341ce0869c8c6d6651012cb5d34 100644 --- a/src/seq/seq_task.c +++ b/src/seq/seq_task.c @@ -65,6 +65,15 @@ void sequencer (void *arg) /* ptr to original (global) state program table */ if (seq_connect(sp, ((sp->options & OPT_CONN) != 0)) != pvStatOK) goto exit; + /* Emulate the 'first monitor event' for anonymous PVs */ + if ((sp->options & OPT_SAFE) != 0) + { + unsigned nch; + for (nch=0; nch<sp->numChans; nch++) + if (sp->chan[nch].syncedTo && !sp->chan[nch].dbch) + seq_efSet(sp->ss, sp->chan[nch].syncedTo); + } + /* Call program entry function if defined. Treat as if called from 1st state set. */ if (sp->entryFunc) sp->entryFunc(sp->ss, sp->ss->var);