EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: genSub record
From: Benjamin Franksen <[email protected]>
To: EPICS Techtalk <[email protected]>
Date: Tue, 19 Aug 2003 13:22:31 +0200
Hello,

I see (from doc and sources) that the genSub record does not provide for
asynchronous processing. Is there a special reason for this?

I made experimental changes to the latest version 1-4 so that asynch
processing is recognized. These are the diffs:

ice: .../genSubV1-4/src > diff genSubRecord.org.c genSubRecord.c
450a451
>   unsigned char  pact = pgsub->pact;
452d452
<   pgsub->pact = TRUE;
455a456,460
>   if ( pgsub->pact )
>     goto completion;
> 
>   pgsub->pact = TRUE;
> 
510a516,517
>   pgsub->pact = FALSE;
> 
512a520,523
> completion:
>   if ( !pact && pgsub->pact ) return(0);
>   pgsub->pact = TRUE;
> 
513a525
>   {
514a527
>   }

Comments?

The reason why I am interested is this: I need to perform most real
actions in some extra task. Therefore the record's subroutine only sends
messages to this task. This makes it difficult to get error status back
to the record.

Ben

Navigate by Date:
Prev: VxWorks Billy R. Adams
Next: Strange encoder behaviour Rok Sabjan
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: VxWorks Billy R. Adams
Next: Strange encoder behaviour Rok Sabjan
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024