#include <string.h>
#include <sys/un.h>
-
+const char *SPATH = "/tmp/vgtest-foofrob";
int socket_fd;
-void *open_socket()
+void open_socket()
{
+ unlink (SPATH); /* Make sure socket path doesn't exist yet. */
+
socket_fd = socket(AF_UNIX, SOCK_STREAM, 0);
fprintf (stderr, "Open socket %d\n", socket_fd);
struct sockaddr_un my_addr;
memset(&my_addr, 0, sizeof(my_addr));
my_addr.sun_family = AF_UNIX;
- strncpy(my_addr.sun_path, "/tmp/foofrob", sizeof(my_addr.sun_path) - 1);
+ strncpy(my_addr.sun_path, SPATH, sizeof(my_addr.sun_path) - 1);
bind(socket_fd, (struct sockaddr *) &my_addr, sizeof(my_addr));
-
- return NULL;
}
int main ()
Open socket 3
close socket_fd 3
and close the socket again 3
-File descriptor 3: AF_UNIX socket 3: <unknown> is already closed
+File descriptor 3: AF_UNIX socket 3: /tmp/vgtest-foofrob is already closed
at 0x........: close (in /...libc...)
by 0x........: main (socket_close.c:37)
Previously closed
by 0x........: main (socket_close.c:33)
Originally opened
at 0x........: socket (in /...libc...)
- by 0x........: open_socket (socket_close.c:14)
+ by 0x........: open_socket (socket_close.c:16)
by 0x........: main (socket_close.c:28)