[Spread-cvs] commit: r879 - trunk/libspread-util/src

jschultz at spread.org jschultz at spread.org
Mon Jan 23 04:08:43 EST 2017


Author: jschultz
Date: 2017-01-23 04:08:43 -0500 (Mon, 23 Jan 2017)
New Revision: 879

Modified:
   trunk/libspread-util/src/data_link.c
Log:
libspread-util/src/data_link.c: Changes to setsockopt parameter types to comply with Solaris / Sun being picky
	-- Thanks to Martin Schu for figuring it out (again) and testing



Modified: trunk/libspread-util/src/data_link.c
===================================================================
--- trunk/libspread-util/src/data_link.c	2017-01-23 08:45:40 UTC (rev 878)
+++ trunk/libspread-util/src/data_link.c	2017-01-23 09:08:43 UTC (rev 879)
@@ -171,7 +171,8 @@
 {
   int     family = spu_addr_family(if_addr);
   channel chan;
-  int     tmp;
+  int     tmp_int;
+  unsigned char tmp_uchar;
 
   Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: creating a SOCK_DGRAM socket of family %d\n", family);
 
@@ -197,12 +198,12 @@
     {
       Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: turning SO_BROADCAST on for send IPv4 channel\n");
       
-      if (setsockopt(chan, SOL_SOCKET, SO_BROADCAST, (tmp = 1, &tmp), sizeof(tmp)))
+      if (setsockopt(chan, SOL_SOCKET, SO_BROADCAST, (tmp_int = 1, &tmp_int), sizeof(tmp_int)))
         Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: setsockopt(SOL_SOCKET, SO_BROADCAST, 1) error (%d: %s)!\n", sock_errno, sock_strerror(sock_errno));
       
       Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: setting IPv4 multicast TTL to 1 for send channel\n");
                   
-      if (setsockopt(chan, IPPROTO_IP, IP_MULTICAST_TTL, (tmp = 1, &tmp), sizeof(tmp))) 
+      if (setsockopt(chan, IPPROTO_IP, IP_MULTICAST_TTL, (tmp_uchar = 1, &tmp_uchar), sizeof(tmp_uchar))) 
         Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: problem (%d: %s) in setsockopt of multicast ttl = 1; ignore on Windows\n", 
                sock_errno, sock_strerror(sock_errno));
 
@@ -210,7 +211,7 @@
       {
         Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: Disabling IPv4 multicast loopback\n");
                     
-        if (setsockopt(chan, IPPROTO_IP, IP_MULTICAST_LOOP, (tmp = 0, &tmp), sizeof(tmp)))
+        if (setsockopt(chan, IPPROTO_IP, IP_MULTICAST_LOOP, (tmp_uchar = 0, &tmp_uchar), sizeof(tmp_uchar)))
           Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: error (%d: %s) in disabling ipv4 loopback!\n", sock_errno, sock_strerror(sock_errno));
       }                  
     }
@@ -218,7 +219,7 @@
     {
       Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: setting IPv6 mulitcast hops to 1 for send channel\n");
                   
-      if (setsockopt(chan, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (tmp = 1, &tmp), sizeof(tmp))) 
+      if (setsockopt(chan, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (tmp_uchar = 1, &tmp_uchar), sizeof(tmp_uchar))) 
         Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: problem (%d: %s) in setsockopt of multicast hops = 1; ignore on Windows\n", 
                sock_errno, sock_strerror(sock_errno));
 
@@ -226,7 +227,7 @@
       {
         Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: Disabling IPv6 multicast loopback\n");
                     
-        if (setsockopt(chan, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (tmp = 0, &tmp), sizeof(tmp)))
+        if (setsockopt(chan, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (tmp_uchar = 0, &tmp_uchar), sizeof(tmp_uchar)))
           Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: error (%d: %s) in disabling ipv6 loopback!\n", sock_errno, sock_strerror(sock_errno));
       }
     }
@@ -240,7 +241,7 @@
     {
       Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: turning SO_BROADCAST on for recv IPv4 channel\n");
       
-      if (setsockopt(chan, SOL_SOCKET, SO_BROADCAST, (tmp = 1, &tmp), sizeof(tmp)))
+      if (setsockopt(chan, SOL_SOCKET, SO_BROADCAST, (tmp_int = 1, &tmp_int), sizeof(tmp_int)))
         Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: setsockopt(SOL_SOCKET, SO_BROADCAST, 1) error (%d: %s)!\n", sock_errno, sock_strerror(sock_errno));
     }
       
@@ -251,7 +252,7 @@
     {
       Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: turning SO_REUSEADDR on for recv channel\n");
                 
-      if (setsockopt(chan, SOL_SOCKET, SO_REUSEADDR, (tmp = 1, &tmp), sizeof(tmp)))
+      if (setsockopt(chan, SOL_SOCKET, SO_REUSEADDR, (tmp_int = 1, &tmp_int), sizeof(tmp_int)))
         Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: Failed to set socket option REUSEADDR, errno: (%d: %s)!\n", sock_errno, sock_strerror(sock_errno));
     }
 
@@ -261,8 +262,8 @@
       Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: bind error (%d: %s) for [%s]:%u; probably already running!\n",
              sock_errno, sock_strerror(sock_errno), SPU_ADDR_NTOP(&bind_addr), (unsigned) spu_addr_ip_get_port(&bind_addr));
 
-    if (mcast_addr != NULL && spu_addr_ip_is_multicast(mcast_addr) && (tmp = DL_join_multicast_gen(chan, mcast_addr, if_addr)))
-      Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: DL_join_multicast failed! %d %d %s\n", tmp, sock_errno, sock_strerror(sock_errno));
+    if (mcast_addr != NULL && spu_addr_ip_is_multicast(mcast_addr) && (tmp_int = DL_join_multicast_gen(chan, mcast_addr, if_addr)))
+      Alarmp(SPLOG_FATAL, DATA_LINK, "DL_init_channel_gen: DL_join_multicast failed! %d %d %s\n", tmp_int, sock_errno, sock_strerror(sock_errno));
   }
 
   Alarmp(SPLOG_INFO, DATA_LINK, "DL_init_channel_gen: success; chan = %d\n", (int) chan);




More information about the Spread-cvs mailing list