[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r11883 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r11883 - gnunet/src/util |
Date: |
Tue, 22 Jun 2010 21:45:25 +0200 |
Author: grothoff
Date: 2010-06-22 21:45:25 +0200 (Tue, 22 Jun 2010)
New Revision: 11883
Modified:
gnunet/src/util/network.c
Log:
unlink UNIX domain socket filenames
Modified: gnunet/src/util/network.c
===================================================================
--- gnunet/src/util/network.c 2010-06-22 19:33:47 UTC (rev 11882)
+++ gnunet/src/util/network.c 2010-06-22 19:45:25 UTC (rev 11883)
@@ -40,9 +40,19 @@
{
#ifndef MINGW
int fd;
+
+#ifndef LINUX
+ /**
+ * For UNIX domain listen sockets, underlying filename to be removed
+ * on close.
+ */
+ char *filename;
+#endif
+
#else
SOCKET fd;
#endif
+
};
@@ -253,7 +263,15 @@
#ifdef MINGW
if (SOCKET_ERROR == ret)
SetErrnoFromWinsockError (WSAGetLastError ());
+#else
+#ifndef LINUX
+ if ( (ret == 0) && (address->sa_family == AF_UNIX))
+ {
+ const struct sockaddr_un *un = (const struct sockaddr_un*) address;
+ desc->filename = GNUNET_strdup (un->sun_path);
+ }
#endif
+#endif
return ret == 0 ? GNUNET_OK : GNUNET_SYSERR;
}
@@ -273,7 +291,17 @@
SetErrnoFromWinsockError (WSAGetLastError ());
#else
ret = close (desc->fd);
+#ifndef LINUX
+ if (NULL != desc->filename)
+ {
+ if (0 != unlink (desc->filename))
+ GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING,
+ "unlink",
+ desc->filename);
+ GNUNET_free (desc->filename);
+ }
#endif
+#endif
GNUNET_free (desc);
return (ret == 0) ? GNUNET_OK : GNUNET_SYSERR;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r11883 - gnunet/src/util,
gnunet <=