server: Fixed process exit code on FreeBSD.
diff --git a/server/request.c b/server/request.c
index 7eb1f83..6f0ffb9 100644
--- a/server/request.c
+++ b/server/request.c
@@ -389,11 +389,14 @@
         return 0;
     }
 
-    if (ret >= 0)
+    if (!ret)
     {
-        if (ret > 0)
-            fprintf( stderr, "Protocol error: process %p: partial recvmsg %d for fd\n",
-                     process, ret );
+        kill_process( process, NULL, 0 );
+    }
+    else if (ret > 0)
+    {
+        fprintf( stderr, "Protocol error: process %p: partial recvmsg %d for fd\n",
+                 process, ret );
         kill_process( process, NULL, 1 );
     }
     else