[ovs-dev] [long socket names 2/3] socket-util: Define LINUX macro at top of file.

Ben Pfaff blp at nicira.com
Tue Nov 9 23:59:26 UTC 2010


This will be used further in the following commit.
---
 lib/socket-util.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/lib/socket-util.c b/lib/socket-util.c
index 573e28f..8d291ed 100644
--- a/lib/socket-util.c
+++ b/lib/socket-util.c
@@ -36,6 +36,15 @@
 
 VLOG_DEFINE_THIS_MODULE(socket_util);
 
+/* #ifdefs make it a pain to maintain code: you have to try to build both ways.
+ * Thus, this file compiles all of the code regardless of the target, by
+ * writing "if (LINUX)" instead of "#ifdef __linux__". */
+#ifdef __linux__
+#define LINUX 1
+#else
+#define LINUX 0
+#endif
+
 /* Sets 'fd' to non-blocking mode.  Returns 0 if successful, otherwise a
  * positive errno value. */
 int
@@ -171,12 +180,7 @@ drain_rcvbuf(int fd)
          *
          * On other Unix-like OSes, MSG_TRUNC has no effect in the flags
          * argument. */
-#ifdef __linux__
-#define BUFFER_SIZE 1
-#else
-#define BUFFER_SIZE 2048
-#endif
-        char buffer[BUFFER_SIZE];
+        char buffer[LINUX ? 1 : 2048];
         ssize_t n_bytes = recv(fd, buffer, sizeof buffer,
                                MSG_TRUNC | MSG_DONTWAIT);
         if (n_bytes <= 0 || n_bytes >= rcvbuf) {
-- 
1.7.1





More information about the dev mailing list