(Sorry for sending to the wrong list. I had an email address entry
labeled "Core-Talk" sending to tech-talk. Duh!)
Well played - as there's no distinct elaborate API for that stuff, the
docs don't say too much.
There's a common pattern that is used in many places: global control
variable plus a semaphore to wait for thread shutdown.
Look at dbScan.c or callback.c in BASE/src/ioc/db to get the idea.
Exit hooks registered using epicsAtExit() are called in reverse
registration order. So, for a thread that uses services from Base:
register late to be taken down early.
(Autosave configuration is done well before iocInit - probably too early
for its exit hook registration. Might be better to do it from the thread.)
BTW: All this is basically present in 3.14, so not restricted to 3.15.
Thanks a lot,
On 23/09/2014 18:02, Mooney, Tim M. wrote:
I'd like to fix this. There are several threads spawned by various synApps modules. I'll read the 3.15 docs and see how to comply.
Tim Mooney (email@example.com) (630)252-5417
Software Services Group (www.aps.anl.gov)
Advanced Photon Source, Argonne National Lab
From: Ralph Lange [firstname.lastname@example.org]
Sent: Tuesday, September 23, 2014 10:34 AM
To: Mooney, Tim M.
Cc: EPICS Core-Talk
Subject: Autosave and IOC shutdown
EPICS 3.15 is trying to make it easier for an IOC to cleanly shutdown.
It add tests and better control over shutdown hooks.
Autosave, on the other hand, starts a thread - running the
save_restore() function - that is designed to never shut down.
That seems like a clear conflict of interests, that shows as frequent
error messages on shutdown:
A call to 'assert(dbLockIsInitialized)'
by thread 'save_restore' failed in ../../../src/ioc/db/dbLock.c
EPICS Release EPICS R18.104.22.168-DEV $$Date$$.
Local time is 2014-09-23 14:17:13.090976814 UTC
Please E-mail this message to the author or to email@example.com
(Autosave trying to use cleaned-up stuff in Base.)
Do you have any thoughts on this?
- Navigate by Date:
Re: Jenkins build became unstable: epics-base-3.15 #98 Andrew Johnson
Re: Jenkins build became unstable: epics-base-3.15 #98 Michael Davidsaver
- Navigate by Thread:
Jenkins build is back to normal : epics-base-3.15 #100 APS Jenkins
Build failed in Jenkins: epics-base-3.15-win32 #67 APS Jenkins