]> arthur.barton.de Git - netatalk.git/commitdiff
Fix logtype
authorFrank Lahm <franklahm@googlemail.com>
Wed, 30 Mar 2011 08:13:25 +0000 (10:13 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Wed, 30 Mar 2011 08:13:25 +0000 (10:13 +0200)
libatalk/dsi/dsi_getsess.c
libatalk/dsi/dsi_stream.c

index 747a880a6442c247299a0e7d85643c8106eff448..221ac47af76d50f4a01f777d8e17979207d1d578 100644 (file)
@@ -45,12 +45,12 @@ afp_child_t *dsi_getsession(DSI *dsi, server_child *serv_children, int tickleval
   afp_child_t *child;
 
   if (socketpair(PF_UNIX, SOCK_STREAM, 0, ipc_fds) < 0) {
-      LOG(log_error, logtype_afpd, "dsi_getsess: %s", strerror(errno));
+      LOG(log_error, logtype_dsi, "dsi_getsess: %s", strerror(errno));
       exit( EXITERR_CLNT );
   }
 
   if (setnonblock(ipc_fds[0], 1) != 0 || setnonblock(ipc_fds[1], 1) != 0) {
-      LOG(log_error, logtype_afpd, "dsi_getsess: setnonblock: %s", strerror(errno));
+      LOG(log_error, logtype_dsi, "dsi_getsess: setnonblock: %s", strerror(errno));
       exit(EXITERR_CLNT);
   }
 
index 75e94237a242b29d5d594f60ecf263f4ae4499a5..7e8bb3a6013612256dae8f46d4d3152e80890224 100644 (file)
@@ -98,6 +98,9 @@ static int dsi_peek(DSI *dsi)
                 /* we might have been interrupted by out timer, so restart select */
                 continue;
             /* give up */
+            LOG(log_error, logtype_dsi, "dsi_peek: unexpected select return: %d %s",
+                ret, ret < 0 ? strerror(errno) : "");
+            setnonblock(dsi->socket, 0);
             break;
         }
 
@@ -109,17 +112,24 @@ static int dsi_peek(DSI *dsi)
             if (len <= 0) {
                 /* ouch, our buffer is full ! fall back to blocking IO 
                  * could block and disconnect but it's better than a cpu hog */
+                LOG(log_error, logtype_dsi, "dsi_peek: read buffer is full");
+                setnonblock(dsi->socket, 0);
                 break;
             }
 
-            len = read(dsi->socket, dsi->eof, len);
-            if (len <= 0)
+            if ((len = read(dsi->socket, dsi->eof, len)) <= 0) {
+                LOG(log_error, logtype_dsi, "dsi_peek: read: %d %s",
+                    len, len < 0 ? strerror(errno) : "");
                 break;
+            }
+
             dsi->eof += len;
+            continue;
         }
 
         if (FD_ISSET(dsi->socket, &writefds))
             /* we can write again at last */
+            LOG(log_error, logtype_dsi, "dsi_peek: can write again");
             break;
     }