Lock the command channel while searching. (imap_body_contains): If
authorNot Zed <NotZed@HelixCode.com>
Sun, 24 Dec 2000 00:46:20 +0000 (00:46 +0000)
committerMichael Zucci <zucchi@src.gnome.org>
Sun, 24 Dec 2000 00:46:20 +0000 (00:46 +0000)
commit595736fa217078132cbed217c6bf52956b6546ac
treef68db3eca1471885188c60da53dc4841e7abd224
parentd4c550e7c4625f4b6f594688fd67dd925514bb31
Lock the command channel while searching. (imap_body_contains): If

2000-12-24  Not Zed  <NotZed@HelixCode.com>

        * providers/imap/camel-imap-search.c (imap_body_contains): Lock
        the command channel while searching.
        (imap_body_contains): If performing a whole uid search, then add
        references to our own summary items, dont look it up in the
        folder.  This way they can't vanish unexpectedly.

        * providers/imap/camel-imap-folder.h (CamelImapFolder): Added a
        private field.

        * providers/imap/camel-imap-private.h: Added lock for imap
        searches.

        * Merge from camel-mt-branch.

        * providers/imap/camel-imap-folder.c (imap_update_summary): Merge
        fix, use the folder->summary.
        (imap_get_message_flags, imap_set_message_flags,
        imap_get_message_user_flag, imap_set_message_user_flag): Removed
        again.
        (camel_imap_folder_init): Setup private data/lock.
        (imap_finalize): Free private data/search lock.
        (imap_search_free): Lock the search_lock.
        (imap_search_by_expression): Lock the search lock when using the
        search object.  Also copy/ref hte summary, rather than getting it
        directly.
        (imap_refresh_info): Free any info lookups.  Use folder->summary
        not imap_folder->summary.  And lock around commands.
52 files changed:
camel/ChangeLog
camel/Makefile.am
camel/README.mt [new file with mode: 0644]
camel/camel-exception.c
camel/camel-folder-search.c
camel/camel-folder-summary.c
camel/camel-folder-summary.h
camel/camel-folder-thread.c
camel/camel-folder-thread.h
camel/camel-folder.c
camel/camel-folder.h
camel/camel-private.h [new file with mode: 0644]
camel/camel-remote-store.c
camel/camel-remote-store.h
camel/camel-service.c
camel/camel-service.h
camel/camel-session.c
camel/camel-session.h
camel/camel-store.c
camel/camel-store.h
camel/camel-transport.h
camel/camel.c
camel/providers/imap/Makefile.am
camel/providers/imap/camel-imap-auth.c
camel/providers/imap/camel-imap-command.c
camel/providers/imap/camel-imap-folder.c
camel/providers/imap/camel-imap-folder.h
camel/providers/imap/camel-imap-private.h [new file with mode: 0644]
camel/providers/imap/camel-imap-search.c
camel/providers/imap/camel-imap-store.c
camel/providers/imap/camel-imap-store.h
camel/providers/local/Makefile.am
camel/providers/local/camel-local-folder.c
camel/providers/local/camel-local-folder.h
camel/providers/local/camel-local-private.h [new file with mode: 0644]
camel/providers/local/camel-local-summary.c
camel/providers/local/camel-maildir-folder.c
camel/providers/local/camel-maildir-summary.c
camel/providers/local/camel-mbox-folder.c
camel/providers/local/camel-mbox-summary.c
camel/providers/local/camel-mh-folder.c
camel/providers/local/camel-mh-summary.c
camel/providers/nntp/camel-nntp-folder.c
camel/providers/nntp/camel-nntp-newsrc.c
camel/providers/pop3/camel-pop3-folder.c
camel/providers/vee/camel-vee-folder.c
camel/providers/vee/camel-vee-folder.h
camel/tests/folder/Makefile.am
camel/tests/folder/README
camel/tests/folder/test8.c [new file with mode: 0644]
camel/tests/lib/camel-test.c
camel/tests/lib/folders.c