unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] Prevent data loss caused by SIGINT during notmuch new
@ 2010-03-26 21:18 Michal Sojka
  2010-03-27 23:37 ` Sebastian Spaeth
  0 siblings, 1 reply; 9+ messages in thread
From: Michal Sojka @ 2010-03-26 21:18 UTC (permalink / raw)
  To: notmuch

When Ctrl-C is pressed in a wrong time during notmuch new, it can lead
to removal of messages from the database even if the files were not
removed.

It happened at least once to me.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
---
 notmuch-new.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/notmuch-new.c b/notmuch-new.c
index 44b50aa..ae89654 100644
--- a/notmuch-new.c
+++ b/notmuch-new.c
@@ -454,6 +454,9 @@ add_files_recursive (notmuch_database_t *notmuch,
 	next = NULL;
     }
 
+    if (state->interrupted)
+	goto DONE;
+    
     /* Now that we've walked the whole filesystem list, anything left
      * over in the database lists has been deleted. */
     while (notmuch_filenames_valid (db_files))
-- 
1.7.0.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] Prevent data loss caused by SIGINT during notmuch new
  2010-03-26 21:18 [PATCH] Prevent data loss caused by SIGINT during notmuch new Michal Sojka
@ 2010-03-27 23:37 ` Sebastian Spaeth
  2010-03-28  1:53   ` Sebastian Spaeth
  0 siblings, 1 reply; 9+ messages in thread
From: Sebastian Spaeth @ 2010-03-27 23:37 UTC (permalink / raw)
  To: Michal Sojka, notmuch

On Fri, 26 Mar 2010 22:18:13 +0100, Michal Sojka <sojkam1@fel.cvut.cz> wrote:
> When Ctrl-C is pressed in a wrong time during notmuch new, it can lead
> to removal of messages from the database even if the files were not
> removed.

Thanks, applied in my feature-all branch.

Sebastian

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Prevent data loss caused by SIGINT during notmuch new
  2010-03-27 23:37 ` Sebastian Spaeth
@ 2010-03-28  1:53   ` Sebastian Spaeth
  2010-03-28  4:28     ` Michal Sojka
  0 siblings, 1 reply; 9+ messages in thread
From: Sebastian Spaeth @ 2010-03-28  1:53 UTC (permalink / raw)
  To: Michal Sojka, notmuch

On Sun, 28 Mar 2010 00:37:00 +0100, "Sebastian Spaeth" <Sebastian@SSpaeth.de> wrote:
> On Fri, 26 Mar 2010 22:18:13 +0100, Michal Sojka <sojkam1@fel.cvut.cz> wrote:
> > When Ctrl-C is pressed in a wrong time during notmuch new, it can lead
> > to removal of messages from the database even if the files were not
> > removed.

CC -O2	notmuch-new.o
notmuch-new.c: In function 'add_files_recursive':
notmuch-new.c:519: error: 'add_files_state_t' has no member named 'interrupted'
make: *** [notmuch-new.o] Error 1

I have not checked the code yet, but simply applying this patch make the
compile fail.

Sebastian

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Prevent data loss caused by SIGINT during notmuch new
  2010-03-28  1:53   ` Sebastian Spaeth
@ 2010-03-28  4:28     ` Michal Sojka
  2010-03-29  7:16       ` Sebastian Spaeth
  2010-03-29 23:20       ` spaetz
  0 siblings, 2 replies; 9+ messages in thread
From: Michal Sojka @ 2010-03-28  4:28 UTC (permalink / raw)
  To: Sebastian Spaeth, notmuch

On Sun, 28 Mar 2010, Sebastian Spaeth wrote:
> On Sun, 28 Mar 2010 00:37:00 +0100, "Sebastian Spaeth" <Sebastian@SSpaeth.de> wrote:
> > On Fri, 26 Mar 2010 22:18:13 +0100, Michal Sojka <sojkam1@fel.cvut.cz> wrote:
> > > When Ctrl-C is pressed in a wrong time during notmuch new, it can lead
> > > to removal of messages from the database even if the files were not
> > > removed.
> 
> CC -O2	notmuch-new.o
> notmuch-new.c: In function 'add_files_recursive':
> notmuch-new.c:519: error: 'add_files_state_t' has no member named 'interrupted'
> make: *** [notmuch-new.o] Error 1
> 
> I have not checked the code yet, but simply applying this patch make the
> compile fail.

Oh, sorry. I thought it is so trivial, that I didn't even compile it for
master. The right version is here:

--8<---------------cut here---------------start------------->8---
From 117de1fcc316a4792244a36b68e38215ff2a5bdc Mon Sep 17 00:00:00 2001
From: Michal Sojka <sojkam1@fel.cvut.cz>
Date: Fri, 26 Mar 2010 22:16:26 +0100
Subject: [PATCH v2] Prevent data loss caused by SIGINT during notmuch new

When Ctrl-C is pressed in a wrong time during notmuch new, it can lead
to removal of messages from the database even if the files were not
removed.

It happened at least once to me.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
---
 notmuch-new.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/notmuch-new.c b/notmuch-new.c
index 44b50aa..109bef2 100644
--- a/notmuch-new.c
+++ b/notmuch-new.c
@@ -454,6 +454,9 @@ add_files_recursive (notmuch_database_t *notmuch,
 	next = NULL;
     }
 
+    if (! interrupted)
+	goto DONE;
+    
     /* Now that we've walked the whole filesystem list, anything left
      * over in the database lists has been deleted. */
     while (notmuch_filenames_valid (db_files))
-- 
1.7.0.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] Prevent data loss caused by SIGINT during notmuch new
  2010-03-28  4:28     ` Michal Sojka
@ 2010-03-29  7:16       ` Sebastian Spaeth
  2010-03-29 23:20       ` spaetz
  1 sibling, 0 replies; 9+ messages in thread
From: Sebastian Spaeth @ 2010-03-29  7:16 UTC (permalink / raw)
  To: Michal Sojka, notmuch

> Oh, sorry. I thought it is so trivial, that I didn't even compile it for
> master. The right version is here:

Thanks, that worked fine now. I pushed it to my branch.

Sebastian

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Prevent data loss caused by SIGINT during notmuch new
  2010-03-28  4:28     ` Michal Sojka
  2010-03-29  7:16       ` Sebastian Spaeth
@ 2010-03-29 23:20       ` spaetz
  2010-03-30  8:22         ` Michal Sojka
  1 sibling, 1 reply; 9+ messages in thread
From: spaetz @ 2010-03-29 23:20 UTC (permalink / raw)
  To: notmuch


hehe, this version compiles but has the logic inverted. Removing the ! from
your patch makes it actually work as intended :--).
-- 
View this message in context: http://n3.nabble.com/PATCH-Prevent-data-loss-caused-by-SIGINT-during-notmuch-new-tp677501p684691.html
Sent from the notmuch mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Prevent data loss caused by SIGINT during notmuch new
  2010-03-29 23:20       ` spaetz
@ 2010-03-30  8:22         ` Michal Sojka
  2010-03-30  8:23           ` Michal Sojka
  0 siblings, 1 reply; 9+ messages in thread
From: Michal Sojka @ 2010-03-30  8:22 UTC (permalink / raw)
  To: spaetz, notmuch

On Mon, 29 Mar 2010, spaetz wrote:
> 
> hehe, this version compiles but has the logic inverted. Removing the ! from
> your patch makes it actually work as intended :--).

Right! I should definitely be more careful even for such a trivial
patches :) It's interesting, that in my branch, I have no negation.

I send the patch once again.

Michal

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH] Prevent data loss caused by SIGINT during notmuch new
  2010-03-30  8:22         ` Michal Sojka
@ 2010-03-30  8:23           ` Michal Sojka
  2010-04-13 15:47             ` Carl Worth
  0 siblings, 1 reply; 9+ messages in thread
From: Michal Sojka @ 2010-03-30  8:23 UTC (permalink / raw)
  To: notmuch

When Ctrl-C is pressed in a wrong time during notmuch new, it can lead
to removal of messages from the database even if the files were not
removed.

It happened at least once to me.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
---
 notmuch-new.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/notmuch-new.c b/notmuch-new.c
index 44b50aa..5ade168 100644
--- a/notmuch-new.c
+++ b/notmuch-new.c
@@ -454,6 +454,9 @@ add_files_recursive (notmuch_database_t *notmuch,
 	next = NULL;
     }
 
+    if (interrupted)
+	goto DONE;
+    
     /* Now that we've walked the whole filesystem list, anything left
      * over in the database lists has been deleted. */
     while (notmuch_filenames_valid (db_files))
-- 
1.7.0.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] Prevent data loss caused by SIGINT during notmuch new
  2010-03-30  8:23           ` Michal Sojka
@ 2010-04-13 15:47             ` Carl Worth
  0 siblings, 0 replies; 9+ messages in thread
From: Carl Worth @ 2010-04-13 15:47 UTC (permalink / raw)
  To: Michal Sojka, notmuch

[-- Attachment #1: Type: text/plain, Size: 797 bytes --]

On Tue, 30 Mar 2010 10:23:23 +0200, Michal Sojka <sojkam1@fel.cvut.cz> wrote:
> When Ctrl-C is pressed in a wrong time during notmuch new, it can lead
> to removal of messages from the database even if the files were not
> removed.
> 
> It happened at least once to me.
> 
> Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>

Thanks so much, Michal!

This was a very bad bug that I'm sure I introduced myself when
implementing rename support.

Thanks to Sebastian for reminding me to pick this up for the 0.2
release.

And, everyone, if I'm behind on patches, (which has always been the case
so far with this project...), please feel free to make plenty of noise
when there are known fixes for data-loss bugs. We really shouldn't let
those sit for a couple of weeks!

-Carl

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-04-13 15:47 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-26 21:18 [PATCH] Prevent data loss caused by SIGINT during notmuch new Michal Sojka
2010-03-27 23:37 ` Sebastian Spaeth
2010-03-28  1:53   ` Sebastian Spaeth
2010-03-28  4:28     ` Michal Sojka
2010-03-29  7:16       ` Sebastian Spaeth
2010-03-29 23:20       ` spaetz
2010-03-30  8:22         ` Michal Sojka
2010-03-30  8:23           ` Michal Sojka
2010-04-13 15:47             ` Carl Worth

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).