EPICS Controls 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  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: drvAsynIPPort, asynOctetSyncIO and multithreading
From: "Brown, Garth" <[email protected]>
To: "'[email protected]'" <[email protected]>
Date: Fri, 15 Jul 2016 00:24:17 +0000
This seems like something that must have a well-known solution, but I haven't dug it up yet. 
I'm working on an app talking to a network attached device. I want to allow multiple threads to send requests to the device, and have another thread that blocks waiting for responses to come back.  There could be multiple outstanding requests, and there's no reason from my code's perspective that responses should come back in order.
My initial attempt uses pasynOctetSyncIO->write and pasynOctetSyncIO->read, but it looks like there's a mutex in asynOctetSyncIO writeIt and readIt functions that prevents writing while read is blocking. Is there a way to allow the "reading" thread to wait for responses that still allows writes to happen?

Thanks,
Garth


Replies:
RE: drvAsynIPPort, asynOctetSyncIO and multithreading Mark Rivers

Navigate by Date:
Prev: RE: Problem with procServ on RHEL6 Mark Rivers
Next: Re: EPICS archiver appliance redundancy Phillip Sorensen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Problem with procServ on RHEL6 Ralph Lange
Next: RE: drvAsynIPPort, asynOctetSyncIO and multithreading Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·