EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [Merge] ~epics-core/epics-base/+git/Com:iocsherr into epics-base:7.0
From: mdavidsaver via Core-talk <[email protected]>
To: mdavidsaver <[email protected]>
Date: Mon, 20 May 2019 22:10:29 -0000
Wow, I didn't receive emails for any of these comments, including Ben's.  I see them in the core-talk archive though.  Not in my Spam.  And I have since received mail through the list for other MRs.  Go figure...

Anyway.

> A bit of explanation why the name 'struct Scope' may be useful

This is per-thread.  So concurrent calls from different threads will see different scopes.  However, nested calls within the same thread will see the same scope.

> It looks like "on error break" exits the current script with an error, would that then trigger the "on error" mechanism in the calling script?

The error state is only cleared before a function call.  So an error remains active though nested returns until another function is called.

It occurs to me that "on error ..." in a nested call would effect the outer frames as well, which seems potentially confusing.

> Split the calling of ioc shell registered functions out into its own function.

@Keenan, This occurred to me as well.  The API isn't trivial though.  Do you care about handling the struct iocshCmdDef* yourself?  Are you doing argument type casting?

Maybe something like:

> int iocshCmdX(const char *argtypes, size_t nargs, const iocshArgBuf *args);

Where 'types' would be a string containing 'i', 'd', 's', 'D', '*', or 'S' for each argument value.  strlen(types)==nargs would be enforced, and the first argument must be a string (the command name).


-- 
https://code.launchpad.net/~epics-core/epics-base/+git/Com/+merge/366876
Your team EPICS Core Developers is subscribed to branch epics-base:7.0.

References:
[Merge] ~epics-core/epics-base/+git/Com:iocsherr into epics-base:7.0 mdavidsaver via Core-talk

Navigate by Date:
Prev: Jenkins build is still unstable: epics-7.0 » linux64 #129 APS Jenkins via Core-talk
Next: Re: [Merge] ~epics-core/epics-base/+git/rtems5:hj/rtems5 into epics-base:core/master mdavidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: [Merge] ~epics-core/epics-base/+git/Com:iocsherr into epics-base:7.0 Keenan Lang via Core-talk
Next: Re: [Merge] ~epics-core/epics-base/+git/Com:iocsherr into epics-base:7.0 Andrew Johnson via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 20 May 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·