On Tue, Apr 19, 2016 at 01:06:25PM +0000, Jan Wickbom wrote: > > > > -----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 :-)
Oh, a socket in the abstract namespace. They are not portable; also, I don't think there's any way to control permissions. _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss