[Pacemaker] [libqb]Unlink of files bound to sockets
Grüninger, Andreas (LGL Extern)
Andreas.Grueninger at lgl.bwl.de
Thu Dec 18 15:01:01 UTC 2014
I sent yesterday this email to the mailing list of libq 'quarterback-devel at lists.fedorahosted.org'.
But there is nearly no activity since august.
I use the current trunk of libqb.
In qb_ipcc_us_sock_close nd qb_ipcs_us_withdraw of lib/ipc_setup.c sockets are closed.
Is there a reason why the files bound to the sockets are not deleted with unlink?
Is unlinking not necessary with Linux?
I found thousands of files in statedir=/var/corosync/run after a while.
I tried this and it seems to work without errors.
e.g.
void
qb_ipcc_us_sock_close(int32_t sock)
{
#ifdef QB_SOLARIS
struct sockaddr_un un_addr;
socklen_t un_addr_len = sizeof(struct sockaddr_un);
#endif
shutdown(sock, SHUT_RDWR);
#ifdef QB_SOLARIS
if (getsockname(sock, (struct sockaddr *)&un_addr, &un_addr_len) == 0) {
if(strstr(un_addr.sun_path,"-") != NULL) {
qb_util_log(LOG_DEBUG, "un_addr.sun_path=%s", un_addr.sun_path);
unlink(un_addr.sun_path);
}
} else {
qb_util_log(LOG_DEBUG, "getsockname returned errno=%d", errno);
}
#endif
close(sock);
}
Regards
Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clusterlabs.org/pipermail/pacemaker/attachments/20141218/695fd90f/attachment-0003.html>
More information about the Pacemaker
mailing list