Move close() to os_close()
authorHenning Rogge <hrogge@googlemail.com>
Wed, 13 Oct 2010 19:28:38 +0000 (21:28 +0200)
committerHenning Rogge <hrogge@googlemail.com>
Wed, 13 Oct 2010 19:28:38 +0000 (21:28 +0200)
src/defs.h
src/interfaces.c
src/main.c
src/olsr_comport.c
src/os_net.h
src/scheduler.c
src/unix/ifnet.c
src/win32/net.c

index ced8415..3e87451 100644 (file)
@@ -99,12 +99,6 @@ extern FILE *EXPORT(debug_handle);
 
 #define ROUND_UP_TO_POWER_OF_2(val, pow2) (((val) + (pow2) - 1) & ~((pow2) - 1))
 
-#ifdef WIN32
-#define CLOSESOCKET(fd)  do { closesocket(fd); (fd) = -1; } while (0)
-#else
-#define CLOSESOCKET(fd)  do { close(fd); (fd) = -1; } while (0)
-#endif
-
 enum app_state {
   STATE_INIT,
   STATE_RUNNING,
index 75f386b..13e72c4 100644 (file)
@@ -188,8 +188,8 @@ add_interface(struct olsr_if_config *iface) {
   }
 
   if ((os_init_interface(ifp, iface))) {
-    CLOSESOCKET(ifp->olsr_socket);
-    CLOSESOCKET(ifp->send_socket);
+    os_close(ifp->olsr_socket);
+    os_close(ifp->send_socket);
     olsr_cookie_free(interface_mem_cookie, ifp);
     return NULL;
   }
@@ -348,8 +348,8 @@ remove_interface(struct interface *ifp)
 
   /* Close olsr socket */
   remove_olsr_socket(ifp->olsr_socket, &olsr_input, NULL);
-  CLOSESOCKET(ifp->olsr_socket);
-  CLOSESOCKET(ifp->send_socket);
+  os_close(ifp->olsr_socket);
+  os_close(ifp->send_socket);
   ifp->olsr_socket = -1;
 
   free(ifp->int_name);
index c55553a..b79c3e9 100644 (file)
@@ -569,19 +569,19 @@ olsr_shutdown(void)
   os_cleanup_global_ifoptions();
 
   /* ioctl socket */
-  CLOSESOCKET(olsr_cnf->ioctl_s);
+  os_close(olsr_cnf->ioctl_s);
 
 #if defined linux
   /*if ((olsr_cnf->rttable < 253) & (olsr_cnf->rttable > 0)) {
     olsr_netlink_rule(olsr_cnf->ip_version, olsr_cnf->rttable, RTM_DELRULE);
   }*/
 
-  CLOSESOCKET(olsr_cnf->rtnl_s);
+  os_close(olsr_cnf->rtnl_s);
 #endif
 
 #if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__ || defined __OpenBSD__
   /* routing socket */
-  CLOSESOCKET(olsr_cnf->rts_bsd);
+  os_close(olsr_cnf->rts_bsd);
 #endif
 
   /* Close and delete all sockets */
index 2e32479..0f6bf1d 100644 (file)
@@ -62,6 +62,7 @@
 #include "olsr_comport_http.h"
 #include "olsr_comport_txt.h"
 #include "olsr_comport.h"
+#include "os_net.h"
 
 #define HTTP_TIMEOUT  30000
 #define TXT_TIMEOUT 60000
@@ -91,7 +92,8 @@ static void olsr_com_cleanup_session(struct comport_connection *con);
 
 static void olsr_com_timeout_handler(void *);
 
-void olsr_com_init(bool failfast) {
+void
+olsr_com_init(bool failfast) {
   connection_cookie =
       olsr_create_memcookie("comport connections", sizeof(struct comport_connection));
 
@@ -130,7 +132,8 @@ void olsr_com_init(bool failfast) {
   }
 }
 
-void olsr_com_destroy(void) {
+void
+olsr_com_destroy(void) {
   struct comport_connection *con;
   struct list_iterator iterator;
   OLSR_FOR_ALL_COMPORT_ENTRIES(con, iterator) {
@@ -141,11 +144,13 @@ void olsr_com_destroy(void) {
   olsr_com_destroy_txt();
 }
 
-void olsr_com_activate_output(struct comport_connection *con) {
+void
+olsr_com_activate_output(struct comport_connection *con) {
   enable_olsr_socket(con->fd, &olsr_com_parse_connection, NULL, SP_PR_WRITE);
 }
 
-static int olsr_com_openport(int port) {
+static int
+olsr_com_openport(int port) {
   struct sockaddr_storage sst;
   uint32_t yes = 1;
   socklen_t addrlen;
@@ -163,7 +168,7 @@ static int olsr_com_openport(int port) {
 
   if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *) &yes, sizeof(yes)) < 0) {
     OLSR_WARN(LOG_COMPORT, "Com-port %d SO_REUSEADDR for IPv%c failed: %s\n", port, ipchar, strerror(errno));
-    CLOSESOCKET(s);
+    os_close(s);
     return -1;
   }
 
@@ -194,21 +199,22 @@ static int olsr_com_openport(int port) {
   /* bind the socket to the port number */
   if (bind(s, (struct sockaddr *) &sst, addrlen) == -1) {
     OLSR_WARN(LOG_COMPORT, "Com-port %d bind failed for IPv%c: %s\n", port, ipchar, strerror(errno));
-    CLOSESOCKET(s);
+    os_close(s);
     return -1;
   }
 
   /* show that we are willing to listen */
   if (listen(s, 1) == -1) {
     OLSR_WARN(LOG_COMPORT, "Com-port %d listen for IPv%c failed %s\n", port, ipchar, strerror(errno));
-    CLOSESOCKET(s);
+    os_close(s);
     return -1;
   }
 
   return s;
 }
 
-static void olsr_com_parse_request(int fd, void *data __attribute__ ((unused)), unsigned int flags __attribute__ ((unused))) {
+static void
+olsr_com_parse_request(int fd, void *data __attribute__ ((unused)), unsigned int flags __attribute__ ((unused))) {
   struct comport_connection *con;
   struct sockaddr_storage addr;
   socklen_t addrlen;
@@ -272,7 +278,8 @@ static void olsr_com_parse_request(int fd, void *data __attribute__ ((unused)),
   list_add_after(&olsr_comport_head, &con->node);
 }
 
-static void olsr_com_cleanup_session(struct comport_connection *con) {
+static void
+olsr_com_cleanup_session(struct comport_connection *con) {
   if (con->is_http) {
     connection_http_count--;
   } else {
@@ -285,7 +292,7 @@ static void olsr_com_cleanup_session(struct comport_connection *con) {
     con->stop_handler(con);
   }
   remove_olsr_socket(con->fd, &olsr_com_parse_connection, NULL);
-  CLOSESOCKET(con->fd);
+  os_close(con->fd);
 
   abuf_free(&con->in);
   abuf_free(&con->out);
@@ -293,12 +300,14 @@ static void olsr_com_cleanup_session(struct comport_connection *con) {
   olsr_cookie_free(connection_cookie, con);
 }
 
-static void olsr_com_timeout_handler(void *data) {
+static void
+olsr_com_timeout_handler(void *data) {
   struct comport_connection *con = data;
   olsr_com_cleanup_session(con);
 }
 
-static void olsr_com_parse_connection(int fd, void *data, unsigned int flags) {
+static void
+olsr_com_parse_connection(int fd, void *data, unsigned int flags) {
   struct comport_connection *con = data;
 #if !defined(REMOVE_LOG_WARN)
   struct ipaddr_str buf;
index f66bdf3..a3666a9 100644 (file)
@@ -61,6 +61,7 @@
 ssize_t EXPORT(os_sendto)(int, const void *, size_t, int, const union olsr_sockaddr *);
 ssize_t EXPORT(os_recvfrom)(int, void *, size_t, int, union olsr_sockaddr *, socklen_t *);
 int os_select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
+int EXPORT(os_close)(int);
 
 int EXPORT(os_getsocket4)(int, struct interface *, bool, uint16_t);
 int EXPORT(os_getsocket6)(int, struct interface *, bool, uint16_t);
index 2ee7973..0c3b017 100644 (file)
@@ -274,7 +274,7 @@ olsr_flush_sockets(void)
   struct list_iterator iterator;
 
   OLSR_FOR_ALL_SOCKETS(entry, iterator) {
-    CLOSESOCKET(entry->fd);
+    os_close(entry->fd);
     list_remove(&entry->socket_node);
     free(entry);
   }
index 1beb8b5..a0efcb6 100644 (file)
 
 #define BUFSPACE  (127*1024)    /* max. input buffer size to request */
 
+/**
+ * Wrapper for closing sockets
+ * @param
+ * @param sock
+ * @return
+ */
+int
+os_close(int sock) {
+  return close(sock);
+}
+
 /**
  * Checks if an initialized interface is changed
  * that is if it has been set down or the address
index a058301..582962b 100644 (file)
@@ -71,6 +71,17 @@ void PError(const char *);
 
 static void DisableIcmpRedirects(void);
 
+/**
+ * Wrapper for closing sockets
+ * @param
+ * @param sock
+ * @return
+ */
+int
+os_close(, int sock) {
+  return closesocket(sock);
+}
+
 int
 os_socket_set_nonblocking(int fd)
 {