improved error handling
[svn42.git] / door_daemon / door_daemon.c
index 0443910..e9c02a1 100644 (file)
@@ -95,7 +95,7 @@ int send_command(int door_fd, cmd_t* cmd)
   } while(!ret || (ret == -1 && errno == EINTR));
 
   if(ret > 0) {
-    cmd->sent = 1;
+    cmd_sent(cmd);
     return 0;
   }
 
@@ -241,6 +241,8 @@ int process_door(read_buffer_t* buffer, int door_fd, cmd_t **cmd_q, client_t* cl
     ret = select(door_fd+1, &fds, NULL, NULL, &tv);
     if(!ret)
       return 0;
+    else if(ret < 0)
+      return ret;
 
     ret = read(door_fd, &buffer->buf[buffer->offset], 1);
     if(!ret)