On Mon, Apr 18, 2016 at 02:22:37PM +0000, Jan Wickbom wrote:
> Hi,
> SIGTERM/INT/HUP/ALRM are intercepted in vswitchd. When they are caught some
> cleaning up is performed e.g. all vhost-user-XXX socket files are removed as
> well as socket files for communication between vswitchd and the database etc.
> 
> However, there are more signals generating a process termination but they are
> not handled and as a consequence there will be socket files left. When
> restarting, they will sometimes stop re-creation of vhostuser sockets with
> still existing names, resulting in log entries like these:
> 
> |dpdk|ERR|vhost-user socket device setup failure for socket 
> /var/run/openvswitch/vhostuser-e184f013-72d|bridge|WARN|could not open 
> network device vhostuser-e184f013-72d (Unknown error -1)
> |dpdk|ERR|vhost-user socket device setup failure for socket 
> /var/run/openvswitch/vhostuser-06802a37-a09|bridge|WARN|could not open 
> network device vhostuser-06802a37-a09 (Unknown error -1)
> 
> They need to be removed manually and vswitchd restarted again. Is it a "design
> decision" to handle only the signals as defined in fatal_signals.c?

Yes.  The signals listed there are the ones that terminate the process,
can be caught, do not indicate a program bug, and are not
special-purpose signals such as SIGUSR1 or SIGUSR2 or SIGPOLL.

It is too risky to catch signals that indicate a program bug.

> Also, why are the vhost-user sockets not abstract? Wouldn't that simplify the
> socket handling?

What is an abstract socket?
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to