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 #include <vdecommon.h>
24 #include "../vde_switch/switch.h"
27 /* check to see if given unix socket is still in use; if it isn't, remove the
28 * * socket from the file system */
29 int still_used(struct sockaddr_un
*sun
)
33 if((test_fd
= socket(PF_UNIX
, SOCK_STREAM
, 0)) < 0){
34 printlog(LOG_ERR
,"socket %s",strerror(errno
));
37 if(connect(test_fd
, (struct sockaddr
*) sun
, sizeof(*sun
)) < 0){
38 if(errno
== ECONNREFUSED
){
39 if(unlink(sun
->sun_path
) < 0){
40 printlog(LOG_ERR
,"Failed to removed unused socket '%s': %s",
41 sun
->sun_path
,strerror(errno
));
45 else printlog(LOG_ERR
,"connect %s",strerror(errno
));