commit-mailutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Mailutils branch, master, updated. release-2.2-343-gc7376ce


From: Sergey Poznyakoff
Subject: [SCM] GNU Mailutils branch, master, updated. release-2.2-343-gc7376ce
Date: Fri, 14 Jan 2011 15:35:17 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mailutils".

http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=c7376cec212fc20f39388a216f29661975b109cf

The branch, master has been updated
       via  c7376cec212fc20f39388a216f29661975b109cf (commit)
      from  523bea73592f869effa7300b0c703219c66d7386 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit c7376cec212fc20f39388a216f29661975b109cf
Author: Sergey Poznyakoff <address@hidden>
Date:   Fri Jan 14 17:32:58 2011 +0200

    imap4d: don't issue spurious unsolicited responses after EXPUNGE.
    
    * imap4d/expunge.c (imap4d_expunge): Clear attribute table before
    resynching.
    * imap4d/imap4d.h (imap4d_sync_invalidate): New extern.
    * imap4d/sync.c (invalidate_attr_table): Rename to imap4d_sync_invalidate;
    make extern. All callers updated.

-----------------------------------------------------------------------

Summary of changes:
 imap4d/expunge.c |    1 +
 imap4d/imap4d.h  |    1 +
 imap4d/sync.c    |    8 ++++----
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/imap4d/expunge.c b/imap4d/expunge.c
index 3893ffa..d9e5279 100644
--- a/imap4d/expunge.c
+++ b/imap4d/expunge.c
@@ -39,6 +39,7 @@ imap4d_expunge (struct imap4d_command *command, 
imap4d_tokbuf_t tok)
   /* FIXME: check for errors.  */
   mu_mailbox_expunge (mbox);
 
+  imap4d_sync_invalidate ();
   imap4d_sync ();
   return io_completion_response (command, RESP_OK, "Completed");
 }
diff --git a/imap4d/imap4d.h b/imap4d/imap4d.h
index fd60c59..61e0829 100644
--- a/imap4d/imap4d.h
+++ b/imap4d/imap4d.h
@@ -324,6 +324,7 @@ int make_interdir (const char *name, int delim, int perms);
 
 /* Synchronisation on simultaneous access.  */
 extern int imap4d_sync (void);
+extern void imap4d_sync_invalidate (void);
 extern int imap4d_sync_flags (size_t);
 extern size_t uid_to_msgno (size_t);
 extern void imap4d_set_observer (mu_mailbox_t mbox);
diff --git a/imap4d/sync.c b/imap4d/sync.c
index 8539efe..aac7ae1 100644
--- a/imap4d/sync.c
+++ b/imap4d/sync.c
@@ -39,8 +39,8 @@ realloc_attributes (size_t total)
   attr_table_count = total;
 }
 
-static void
-invalidate_attr_table ()
+void
+imap4d_sync_invalidate ()
 {
   attr_table_valid = 0;
   attr_table_count = 0;
@@ -191,7 +191,7 @@ imap4d_sync (void)
      It may be because of close or before select/examine a new mailbox.
      If it was a close we do not send any notification.  */
   if (mbox == NULL)
-    invalidate_attr_table ();
+    imap4d_sync_invalidate ();
   else if (!attr_table_valid || !mu_mailbox_is_updated (mbox))
     {
       if (mailbox_corrupt)
@@ -205,7 +205,7 @@ imap4d_sync (void)
          if (status)
            imap4d_bye (ERR_MAILBOX_CORRUPTED);
          imap4d_set_observer (mbox);
-         invalidate_attr_table ();
+         imap4d_sync_invalidate ();
          mailbox_corrupt = 0;
          io_untagged_response (RESP_NONE,
                             "OK [ALERT] Mailbox modified by another program");


hooks/post-receive
-- 
GNU Mailutils



reply via email to

[Prev in Thread] Current Thread [Next in Thread]