diff --git a/src/vcl/sock_test_client.c b/src/vcl/sock_test_client.c
index bf46798..7898797 100644
--- a/src/vcl/sock_test_client.c
+++ b/src/vcl/sock_test_client.c
@@ -648,7 +648,14 @@
 		       errno_val);
 	      return tsock->fd;
 	    }
-	  fcntl (tsock->fd, F_SETFL, O_NONBLOCK);
+	  if (fcntl (tsock->fd, F_SETFL, O_NONBLOCK) < 0)
+	    {
+	      errno_val = errno;
+	      perror ("ERROR in sock_test_connect_test_sockets()");
+	      fprintf (stderr, "CLIENT: ERROR: fcntl failed (errno = %d)!\n",
+		       errno_val);
+	      return -1;
+	    }
 
 #ifdef VCL_TEST
 	  rv = vppcom_session_connect (tsock->fd, &scm->server_endpt);
diff --git a/src/vcl/sock_test_server.c b/src/vcl/sock_test_server.c
index fbfe666..354b990 100644
--- a/src/vcl/sock_test_server.c
+++ b/src/vcl/sock_test_server.c
@@ -653,7 +653,14 @@
 	       errno_val);
       return rv;
     }
-  fcntl (ssm->listen_fd, F_SETFL, O_NONBLOCK);
+  if (fcntl (ssm->listen_fd, F_SETFL, O_NONBLOCK) < 0)
+    {
+      errno_val = errno;
+      perror ("ERROR in main()");
+      fprintf (stderr, "SERVER: ERROR: fcntl failed (errno = %d)!\n",
+	       errno_val);
+      return rv;
+    }
 
 #ifdef VCL_TEST
   rv = vppcom_session_listen (ssm->listen_fd, 10);
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c
index a456ed0..be3081e 100644
--- a/src/vcl/vppcom.c
+++ b/src/vcl/vppcom.c
@@ -795,7 +795,11 @@
   if (vcl_get_worker_index () == ~0)
     return;
 
-  sigaction (SIGCHLD, &old_sa, 0);
+  if (sigaction (SIGCHLD, &old_sa, 0))
+    {
+      VERR ("couldn't restore sigchld");
+      exit (-1);
+    }
 
   wrk = vcl_worker_get_current ();
   if (wrk->forked_child == ~0)
