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

Subject: RE: Asyn port locking
From: <[email protected]>
To: <[email protected]>, <[email protected]>
Date: Fri, 19 Feb 2010 18:47:45 -0000
Hi,

streamDevice seems to make use of blockProcessCallback() as if it were
locking access to an Asyn port. The documentation states that this
function only prevents other asynUsers processCallback functions from
being called. 

But what we have in tpmac is a separate thread using the Asyn port
directly via asynOctetSyncIO (and hence doing a lockPort/unlockPort).

I'm wondering if these lockPort/unlockPort requests are locking access
to an Asyn port while streamDevice is in the middle of a write/read
request (because blockProcessCallback didn't actually lock the port).

Could a streamDevice expert comment on this? Are there additional Asyn
port locks in streamDevice that I have missed?

Cheers,
Matthew

 

> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of 
> [email protected]
> Sent: 19 February 2010 16:40
> To: [email protected]
> Subject: Asyn port locking
> 
> Hello,
>  
> I am debugging a module that depends on tpmac and streamDevice.
> 
> Both streams and tpmac access an asyn port that communicate with a
> serial device (non multi-address).
> 
> I use streams in the synchronous mode, that is I don't have I/O
> interrupt records.
> 
> I found errors caused by clashes and found two different methods of
> locking an asyn port
> 
> 1) lockPort/unlockPort (used by tpmac via asynOctetSyncIO)
> 2) blockProcessCallback/unblockProcessCallback(used by streams via
> queueRequest)
> 
> The error I saw originate from a request sent by streams, 
> followed by a
> request sent by tpmac, before streams gets its reply. This causes the
> replies to get garbled.
> 
> Is the lockPort/unlockPort method compatible with
> blockProcessCallback/unblockProcessCallback ?
> 
> Thanks,
> 
> Ronaldo
> 
> Dr Ronaldo Mercado
> Software Systems Engineer Photon Beamlines 
> Phone: +44 (0)1235-778486 Mobile 07887 832623
> Diamond Light Source Fax: +44 (0)1235-446713
> Diamond House, Harwell Science and Innovation Campus, Didcot,
> Oxfordshire, OX11 0DE
>  
> e-mail: [email protected]
> 
> -- 
> This e-mail and any attachments may contain confidential, 
> copyright and or privileged material, and are for the use of 
> the intended addressee only. If you are not the intended 
> addressee or an authorised recipient of the addressee please 
> notify us of receipt by returning the e-mail and do not use, 
> copy, retain, distribute or disclose the information in or 
> attached to the e-mail.
> Any opinions expressed within this e-mail are those of the 
> individual and not necessarily of Diamond Light Source Ltd. 
> Diamond Light Source Ltd. cannot guarantee that this e-mail 
> or any attachments are free from viruses and we cannot accept 
> liability for any damage which you may sustain as a result of 
> software viruses which may be transmitted in or with the message.
> Diamond Light Source Limited (company no. 4375679). 
> Registered in England and Wales with its registered office at 
> Diamond House, Harwell Science and Innovation Campus, Didcot, 
> Oxfordshire, OX11 0DE, United Kingdom
>  
> 
> 
> 
> 
> 

-- 
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. 
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
 





References:
Asyn port locking ronaldo.mercado

Navigate by Date:
Prev: Asyn port locking ronaldo.mercado
Next: RE: CAJ bug? Carcassi, Gabriele
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Asyn port locking ronaldo.mercado
Next: Epics Base 3.14.9 compilation errors for Fedora 11 64 bit version Ramu Denduluri
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·