hopefully fixed all rests from plan b
authorHeiko Schlittermann (I24) <hs@schlittermann.de>
Sat, 26 Feb 2011 22:52:11 +0100
changeset 16 ae4ab6efa941
parent 15 f7b5502d9e0c
child 17 b0076c5c7eec
hopefully fixed all rests from plan b
src.lock_maildirsize
--- a/src.lock_maildirsize	Thu Feb 24 22:29:59 2011 +0100
+++ b/src.lock_maildirsize	Sat Feb 26 22:52:11 2011 +0100
@@ -3,7 +3,7 @@
 
 diff -r 64ab3b627703 src/transports/appendfile.c
 --- a/src/transports/appendfile.c	Thu Feb 24 20:29:56 2011 +0100
-+++ b/src/transports/appendfile.c	Thu Feb 24 22:29:28 2011 +0100
++++ b/src/transports/appendfile.c	Sat Feb 26 22:51:42 2011 +0100
 @@ -13,6 +13,7 @@
  
  #ifdef SUPPORT_MAILDIR
@@ -98,7 +98,7 @@
        uschar *renamename = newname;
        fd = -1;
  
-+			if (lockfd >= 0) hs12_lock(lockfd, F_RDLCK, "delivery");
++			if (lockfd >= 0) hs12_lock(lockfd, F_RDLCK, "for delivery");
 +
        DEBUG(D_transport) debug_printf("renaming temporary file\n");
  
@@ -117,7 +117,7 @@
  RETURN:
 +if (lockfd >= 0) 
 +  {
-+	hs12_lock(lockfd, F_UNLCK, "done delivery");
++	hs12_lock(lockfd, F_UNLCK, "delivery");
 +	(void)close(lockfd);
 +	}
  
@@ -125,7 +125,7 @@
  if (mbx_lockfd >= 0)
 diff -r 64ab3b627703 src/transports/appendfile.h
 --- a/src/transports/appendfile.h	Thu Feb 24 20:29:56 2011 +0100
-+++ b/src/transports/appendfile.h	Thu Feb 24 22:29:28 2011 +0100
++++ b/src/transports/appendfile.h	Sat Feb 26 22:51:42 2011 +0100
 @@ -95,5 +95,8 @@
  /* Function that is shared with tf_maildir.c */
  
@@ -137,7 +137,7 @@
  /* End of transports/appendfile.h */
 diff -r 64ab3b627703 src/transports/tf_maildir.c
 --- a/src/transports/tf_maildir.c	Thu Feb 24 20:29:56 2011 +0100
-+++ b/src/transports/tf_maildir.c	Thu Feb 24 22:29:28 2011 +0100
++++ b/src/transports/tf_maildir.c	Sat Feb 26 22:51:42 2011 +0100
 @@ -367,13 +367,16 @@
  
  Returns:           >=0  a file descriptor for an open maildirsize file
@@ -188,7 +188,7 @@
 +need to do this on an extra lockfile, since the maildirsize file itself
 +gets renamed during the recalculation. */
 +
-+hs12_lock(lockfd, F_WRLCK, "checking");
++hs12_lock(lockfd, F_WRLCK, "for checking");
 +if (sigalrm_seen) 
 +  {
 +  *excuse = string_sprintf("timeout locking %s", lockname);
@@ -231,25 +231,11 @@
  
    DEBUG(D_transport)
      {
-@@ -549,6 +571,13 @@
- 
-   RECALCULATE:
- 
-+	//hs12_lock(lockfd, F_WRLCK, "recalc");
-+	if (sigalrm_seen)
-+		{
-+			*excuse = "timeout while locking for recalc";
-+			return -1;
-+		}
-+
-   if (fd >= 0) (void)close(fd);
-   old_latest = 0;
-   filecount = 0;
-@@ -588,8 +617,11 @@
+@@ -588,8 +610,11 @@
      }
    }
  
-+  hs12_lock(lockfd, F_UNLCK, "done check");
++  hs12_lock(lockfd, F_UNLCK, "check");
 +	
 +
 +
@@ -260,7 +246,7 @@
  *returned_size = size;
 diff -r 64ab3b627703 src/transports/tf_maildir.h
 --- a/src/transports/tf_maildir.h	Thu Feb 24 20:29:56 2011 +0100
-+++ b/src/transports/tf_maildir.h	Thu Feb 24 22:29:28 2011 +0100
++++ b/src/transports/tf_maildir.h	Sat Feb 26 22:51:42 2011 +0100
 @@ -16,7 +16,7 @@
                  uschar *);
  extern int    maildir_ensure_sizefile(uschar *,