merge
authorMario de Sousa <msousa@fe.up.pt>
Tue, 10 Dec 2019 16:07:49 +0000
changeset 7 9334c8280602
parent 6 fe4088d5573a (current diff)
parent 3 1223f413e054 (diff)
child 8 f14859c24751
merge
--- a/Makefile	Tue Dec 10 15:51:32 2019 +0000
+++ b/Makefile	Tue Dec 10 16:07:49 2019 +0000
@@ -6,10 +6,10 @@
 OBJ_FILES = mb_ascii.o mb_rtu.o mb_tcp.o mb_master.o mb_slave.o mb_slave_and_master.o sin_util.o
 
 libmb.a:  $(OBJ_FILES)
-	ar cr libmb.a $(OBJ_FILES)
+	$(AR) cr libmb.a $(OBJ_FILES)
 
 libmb.so: $(OBJ_FILES)
-	gcc -shared -fPIC -o libmb.so $(OBJ_FILES)
+	$(CC) -shared -fPIC -o libmb.so $(OBJ_FILES)
 
 clean:
 	-rm -rf *.o libmb.a libmb.so
@@ -17,12 +17,12 @@
 
 
 # use gcc
-CC = gcc
+# CC = gcc
 
 #get warnings, debugging information and optimization
-CFLAGS  = -Wall -Wpointer-arith -Wstrict-prototypes -Wwrite-strings
+# CFLAGS  = -Wall -Wpointer-arith -Wstrict-prototypes -Wwrite-strings
 # CFLAGS += -Werror
-CFLAGS += -ggdb -O3 -funroll-loops
+# CFLAGS += -ggdb -O3 -funroll-loops
 # Note: if the optimizer crashes, we'll leave out the -O3 for those files
 
 # Required for compilation with beremiz, and to create shared object library
--- a/sin_util.c	Tue Dec 10 15:51:32 2019 +0000
+++ b/sin_util.c	Tue Dec 10 16:07:49 2019 +0000
@@ -153,6 +153,10 @@
   if ((type = gettypebyname(protocol)) == SOCK_PACKET)       return -1;
   /* create the socket */
   if ((s = socket(PF_INET, type, 0)) < 0)                   {perror("socket()");  return -1;}   
+  if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof(int)) < 0) {
+      perror("setsockopt(SO_REUSEADDR) failed");
+      return -1;
+  }
   /* bind the socket */
   if (bind(s, (struct sockaddr *)&sin, sizeof (sin)) < 0)   {perror("bind()");    return -1;}