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: | Understanding ASYN_CANBLOCK |
From: | Marco Filho via Tech-talk <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 30 Jan 2025 22:02:34 +0000 |
Hi all. I'm writing this e-mail to ask for help understanding ASYN_CANBLOCK. asynPortDriver(portName, 1,
asynInt8ArrayMask | asynInt32Mask | asynInt32ArrayMask | asynInt64Mask | asynFloat64Mask | asynOctetMask | asynDrvUserMask, // Interfaces that we implement asynInt8ArrayMask | asynInt32Mask | asynInt32ArrayMask | asynInt64Mask | asynFloat64Mask | asynOctetMask, // Interfaces that do callbacks ASYN_MULTIDEVICE | ASYN_CANBLOCK, 1, /* ASYN_CANBLOCK=1, ASYN_MULTIDEVICE=1, autoConnect=1 */ 0, 0), /* Default priority and stack size */ And removing the flag caused the OPI and shell to not freeze. By visually and manually inspecting I also have the feeling that the parameters are being properly scanned and that I'm not leaving anything behind. The question is: by removing ASYN_CANBLOCK am I actually distributing the readings in time or am I doing something else? Are the requests actually being executed in parallel? Thanks for any elucidations, Marco |