Comment 3 for bug 541169

Revision history for this message
Matthieu Bec (mbec) wrote : Re: hang in ca_context_destroy() when circuit is unresponsive

I found that in this scenario and using R3-14-11, ca_context_destroy() does not hang but takes up to 30 seconds (ca/tcpiiu.cpp). To the end users, the experience is similar to a hang.

Here are some easy steps to reproduce the issue

- start a Striptool (I use version 2.5.12.0)
- start a monitor on a connected channel
- unplug your network cable
- select file-> exit from the Striptool interface
- the GUI exits after 30s.

Note this scenario actually tends to happen quite often if you work from a laptop or on the wireless.

conversely, edm (1-11-0zi) does not attempt to gracefully shutdown channel access, produces some exception on stderr but does exit immediately.

It would be great to provide some ways in the API so well behaved clients some control over the timeout value. Maybe using a separate environment, and intuitively the value should default to EPICS_CA_CONN_TMO.

-- Thanks