[Pacemaker] [libqb]Unlink of files bound to sockets

Andrei Borzenkov arvidjaar at gmail.com
Tue Dec 23 03:29:55 UTC 2014


В Mon, 22 Dec 2014 16:25:00 -0500 (EST)
David Vossel <dvossel at redhat.com> пишет:

> 
> Linux has this non-portable concept of abstract sockets. This lets us create
> sockets without mapping directly to something on the filesystem. Unfortunately
> solaris doesn't have this feature. Somewhere along the line we introduced a
> file leak for solaris.
> 
> Your original patch is actually very close to being correct.
> 
> Take a look at this function.
> 
> https://github.com/davidvossel/libqb/blob/master/lib/ipc_socket.c#L53
> 
> That's where we set the sun_path.
> 
> for the '#if defined(QB_LINUX) || defined(QB_CYGWIN)' sun_path is actually being
> set to ='\0',  which indicates we want to use that abstract socket feature. I'm
> unsure why we continue with what appears to be a useless snprintf to sun_path+1.
> 

For abstract Linux socket you still need unique socket name; it just
starts with '\0' to indicate that it is not file path. 




More information about the Pacemaker mailing list