1 /* Copyright 2005 Renzo Davoli - VDE-2
2 * Mattia Belletti (C) 2004.
3 * Licensed under the GPLv2
15 #include <sys/types.h>
16 #include <sys/ioctl.h>
17 #include <sys/socket.h>
22 /* check to see if given unix socket is still in use; if it isn't, remove the
23 * * socket from the file system */
24 int still_used(struct sockaddr_un
*sun
)
28 if((test_fd
= socket(PF_UNIX
, SOCK_STREAM
, 0)) < 0){
29 printlog(LOG_ERR
,"socket %s",strerror(errno
));
32 if(connect(test_fd
, (struct sockaddr
*) sun
, sizeof(*sun
)) < 0){
33 if(errno
== ECONNREFUSED
){
34 if(unlink(sun
->sun_path
) < 0){
35 printlog(LOG_ERR
,"Failed to removed unused socket '%s': %s",
36 sun
->sun_path
,strerror(errno
));
40 else printlog(LOG_ERR
,"connect %s",strerror(errno
));