On 6/4/21 1:50 AM, Goetz Pfeiffer via Core-talk wrote:
> ...
>
> Causes of the problem
>
> The problem can be tracked down to code in file src/ca/client/udpiiu.cpp in EPICS Base. There function
> "sendto" is used to send UDP unicasts. If this function is called many times with destination IP addresses
> on the local network that do not exist, some UDP buffer in linux fills up and finally sendto blocks for some
> seconds. Then the buffer is (probably) flushed and the next few calls to sendto no longer block. But after
> some time the buffer fills up again and sendto blocks again.
Can you elaborate on this surprising behavior? Have you investigated
why/where Linux is holding packets? And how it is that "do not exist"
is determined?
> However, in this part of EPICS Base sendto is not expected to block. When this happens the channel
> access server code cannot answer requests.
>
>
> Resolution of the problem
>
> We provide the "MSG_DONTWAIT" flag to the "sendto" call. By this, sendto never blocks even if internal
> UDP buffers are full.
>
> I have added a patch file for this to this e-mail.
I don't see any issue with this change, though I would format it as:
#ifndef MSG_DONTWAIT
# define MSG_DONTWAIT (0)
#endif
> Finally...
>
> Could you please look if you to have this problem, too ?
> Maybe you could add my patch to EPICS Base ?
What other patching is being done? Anything related to DNS lookups?
- Replies:
- Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Johnson, Andrew N. via Core-talk
- References:
- EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Goetz Pfeiffer via Core-talk
- Navigate by Date:
- Prev:
Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Ralph Lange via Core-talk
- Next:
Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Johnson, Andrew N. via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
<2021>
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Ralph Lange via Core-talk
- Next:
Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Johnson, Andrew N. via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
<2021>
2022
2023
2024
|