Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: [epics-modules/asyn] Throw exception if we can't register interfaces (#43)
From: Andrew Johnson <anj@aps.anl.gov>
To: <tech-talk@aps.anl.gov>
Date: Wed, 8 Feb 2017 14:57:20 -0600
Hi Eric,

On 02/08/2017 12:15 PM, Eric Norum wrote:
> Maybe it’s time for the IOC shell to actually look at the return values
> from the functions it calls.  In conjunction with some sort of
> equivalent to the UNIX shell ‘-e’ flag it could prevent st.cmd scripts
> from proceeding in the face of error returns from configuration functions.

I would be in favour of that, although currently iocsh.h declares:

> typedef void (*iocshCallFunc)(const iocshArgBuf *argBuf);
> 
> epicsShareFunc void epicsShareAPI iocshRegister(
>     const iocshFuncDef *piocshFuncDef, iocshCallFunc func);

We would have to duplicate both of the above to add a return status; not
hard to do, but the registered commands in all the external support
modules would have to be changed to use that new feature.

Since iocsh is C++ code it could also catch exceptions...

If we're going to modify the iocsh interface there are some additional
changes and simplifications I'd like to make, including being able to
register commands through DBD-file entries instead of having to create a
number of data structures and call iocshRegister() for each one from a
registrar function.

- Andrew

-- 
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon


References:
Re: [epics-modules/asyn] Throw exception if we can't register interfaces (#43) Eric Norum

Navigate by Date:
Prev: DENEX detector with FAST ComTec MCS6A digitzer Hartman, Steven M.
Next: Re: How to support a new stepper motor controller? Paramveer Jain
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: Re: [epics-modules/asyn] Throw exception if we can't register interfaces (#43) Eric Norum
Next: Re: [epics-modules/asyn] Throw exception if we can't register interfaces (#43) Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 14 Feb 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·