jaromail

a commandline tool to easily and privately handle your e-mail
git clone git://parazyd.org/jaromail.git
Log | Files | Refs | Submodules | README

commit 0857fed85fe514e1da491d3756b8e2df18d06a03
parent 4c1143e0678ef738c54e8f84c979e0fbe747c118
Author: Jaromil <jaromil@dyne.org>
Date:   Thu, 15 Jan 2015 13:56:18 +0100

fix deadlock on notmuch db

Diffstat:
Msrc/zlibs/search | 8+++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/zlibs/search b/src/zlibs/search @@ -41,7 +41,6 @@ nm() { nm_setup() { nm_dir="$MAILDIRS"/cache/notmuch mkdir -p $nm_dir - lock $nm_dir # setup the default tags for all new messages deftags="$1" @@ -88,6 +87,7 @@ nm_index() { notice "Indexing all mail archive" act "please wait, this may take a while..." nm_setup + lock "$MAILDIRS"/cache/notmuch nm new nm tag +inbox +priv -unsorted folder:known nm tag +inbox +priv -unsorted folder:sent @@ -95,6 +95,7 @@ nm_index() { nm tag -inbox -priv +unsorted folder:unsorted act "compressing database" nm compact + unlock "$MAILDIRS"/cache/notmuch notice "Indexing completed" } @@ -103,7 +104,9 @@ nm_search() { func "notmuch --config=${nm_dir}/rc search --output=files ${=PARAM}" # launch the search with notmuch + lock "$MAILDIRS"/cache/notmuch search_results=`nm search --output=files ${=PARAM}` + unlock "$MAILDIRS"/cache/notmuch [[ $? = 0 ]] || { error "notmuch search failed with an error" return 1 @@ -195,8 +198,11 @@ user_agent = Jaro Mail <http://jaromail.dyne.org> translated = ☰ EOF + lock "$MAILDIRS"/cache/notmuch alot -c "$MAILDIRS"/cache/alot/rc -n "$MAILDIRS"/cache/notmuch/rc \ search ${=PARAM} + unlock "$MAILDIRS"/cache/notmuch + return $? }