]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/dsi/dsi_write.c
small speed up improvement.
[netatalk.git] / libatalk / dsi / dsi_write.c
index e4ee24dfd2f398876a8e5450fbc7c0e8096cee1d..603b2e1d5906be9ce7cb278a4b96deb4dcb246c3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: dsi_write.c,v 1.3.14.1 2003-10-17 00:01:14 didg Exp $
+ * $Id: dsi_write.c,v 1.3.14.2 2004-05-04 14:26:14 didg Exp $
  *
  * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
  * All rights reserved. See COPYRIGHT.
@@ -36,7 +36,9 @@
  * for arbitrary buffers. */
 size_t dsi_writeinit(DSI *dsi, void *buf, const size_t buflen)
 {
+#ifdef TIMER_ON_READ
   const struct itimerval none = {{0, 0}, {0, 0}};
+#endif  
   size_t len, header;
 
   /* figure out how much data we have. do a couple checks for 0 
@@ -54,11 +56,14 @@ size_t dsi_writeinit(DSI *dsi, void *buf, const size_t buflen)
   } else
     len = 0;
 
+#ifdef TIMER_ON_READ
   /* deal with signals. i'm doing it this way to ensure that we don't
    * get confused if a writeflush on zero remaining data is, for some
    * reason, needed. */
   sigprocmask(SIG_BLOCK, &dsi->sigblockset, &dsi->oldset);
+  dsi->sigblocked = 1;
   setitimer(ITIMER_REAL, &none, &dsi->savetimer);
+#endif  
   return len;
 }
 
@@ -74,9 +79,10 @@ size_t dsi_write(DSI *dsi, void *buf, const size_t buflen)
     dsi->datasize -= length;
     return length;
   }
-
+#ifdef TIMER_ON_READ
   setitimer(ITIMER_REAL, &dsi->savetimer, NULL);
   sigprocmask(SIG_SETMASK, &dsi->oldset, NULL);
+#endif
   return 0;
 }
 
@@ -93,7 +99,8 @@ void dsi_writeflush(DSI *dsi)
     else
       break;
   }
-
+#ifdef TIMER_ON_READ
   setitimer(ITIMER_REAL, &dsi->savetimer, NULL);
   sigprocmask(SIG_SETMASK, &dsi->oldset, NULL);
+#endif  
 }