Sleep only 1 sec before retry to lock the file
[mmh] / uip / dropsbr.c
index 6a7eb78..45451f8 100644 (file)
@@ -6,18 +6,15 @@
 ** complete copyright information.
 */
 
-#include <h/nmh.h>
-#include <h/utils.h>
-
 #include <h/mh.h>
+#include <h/utils.h>
 #include <h/dropsbr.h>
 #include <h/tws.h>
-
-#ifdef HAVE_ERRNO_H
-# include <errno.h>
-#endif
-
+#include <errno.h>
 #include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/stat.h>
 
 
 /*
@@ -47,8 +44,8 @@ mbox_open(char *file, uid_t uid, gid_t gid, mode_t mode)
 #endif
                        case ETXTBSY:
                                i = errno;
-                               sleep(5);
-                               break;
+                               sleep(1);
+                               continue;
 
                        default:
                                /* just return error */
@@ -173,7 +170,7 @@ mbox_copy(int to, int from)
                if (i != 0 && strncmp(buffer, "From ", 5) == 0) {
                        write(to, ">", 1);
                }
-               if (write(to, buffer, strlen(buffer)) != strlen(buffer)) {
+               if (write(to, buffer, strlen(buffer)) != (int)strlen(buffer)) {
                        fclose(fp);
                        return NOTOK;
                }