> -----Original Message-----
> From: Ben Pfaff [mailto:b...@ovn.org]
> Sent: den 18 april 2016 17:37
> To: Jan Wickbom
> Cc: discuss@openvswitch.org
> Subject: Re: [ovs-discuss] Missing fatal signals in fatal_signals.c
> 
> 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?

Unfortunately Linux specific I just realized, which might be the reason it's
not used here? Anyway, you bind to a name without any file being 
created in the filesystem. Hence we don't need to remove it when the socket
is closed, the "abstract name" is automatically removed. A "man 7 unix" on
a Linux system probably explains better than I do :-) 
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to