1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 | 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 2018 2019 2020 <2021> 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: ASYN Module: Workaround for bug due to improper handling of signal in linux-gpib |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | 'Kuldeep Joshi' <kuldeep.joshi at gmail.com>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Wed, 10 Feb 2021 13:27:59 +0000 |
Hi Kuldeep, Does the problem occur only when exiting the IOC? It sounds like you already tried the workaround in the link you sent and it does not help? Ø
Is there a function call in epics iocsh to decouple the Gpib drivers before exiting the shell? EPICS provides the capability to provide an epicsAtExit callback function. It appears that drvLinuxGpib.c does not do that. You could try adding that to the driver, and then call whatever code is needed to unload or stop the Gpib drivers
during IOC exit. I don’t have any hardware to test with, so I am going to need to rely on you or others who use drvLinuxGpib.c to develop a fix and issue a pull request. Mark From: Kuldeep Joshi <kuldeep.joshi at gmail.com>
Hi Mark, I am using the version 4.3.3 of linux-gpib. I guess the problem is still present. Every time I restart the epics iocsh shell the problem occurs. with the dmesg listing below It occurs randomly as well. I inserted the fix as suggested around ibrd and ibwrt in drvLinuxGpib.c. The problem is still present. i have used pthread_sigmask instead of sigprocmask Will adding a pthread_sigmask around all calls to the functions ib...() call help??. Is there a function call in epics iocsh to decouple the Gpib drivers before exiting the shell? Regards, Kuldeep PS: I am using Raspberry PI. I am using synApps and xxx implementation. The code is modified in the synApps:asyn module, then built only the asyn module and the ioc implementation of xxx dmesg listing after exiting the epics iocsh: -512 is the return code for ERESTARTSYS error [ 236.769723] /home/pi/Downloads/linux-gpib-4.3.3/linux-gpib-kernel-4.3.3/drivers/gpib/agilent_82357a/agilent_82357a.c: agilent_82357a_receive_bulk_msg: interrupted On Wed, Feb 10, 2021 at 12:14 PM Mark Rivers <rivers at cars.uchicago.edu> wrote:
|