From f9cd9927b1143b6ee12f725f87b08c5e5b2f49f4 Mon Sep 17 00:00:00 2001
From: hunter-nl <junobox@gmail.com>
Date: Sat, 4 May 2019 12:02:41 +0200
Subject: [PATCH] Update imapsync_cron.pl

Moved setting "is_running" status to just before the actual execution of imapsync command.
---
 data/Dockerfiles/dovecot/imapsync_cron.pl | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/data/Dockerfiles/dovecot/imapsync_cron.pl b/data/Dockerfiles/dovecot/imapsync_cron.pl
index 01cd0ad8..cff2852b 100755
--- a/data/Dockerfiles/dovecot/imapsync_cron.pl
+++ b/data/Dockerfiles/dovecot/imapsync_cron.pl
@@ -93,10 +93,6 @@ while ($row = $sth->fetchrow_arrayref()) {
   $timeout1            = @$row[19];
   $timeout2            = @$row[20];
 
-  $is_running = $dbh->prepare("UPDATE imapsync SET is_running = 1 WHERE id = ?");
-  $is_running->bind_param( 1, ${id} );
-  $is_running->execute();
-
   if ($enc1 eq "TLS") { $enc1 = "--tls1"; } elsif ($enc1 eq "SSL") { $enc1 = "--ssl1"; } else { undef $enc1; }
 
   my $template = $run_dir . '/imapsync.XXXXXXX';
@@ -134,6 +130,9 @@ while ($row = $sth->fetchrow_arrayref()) {
   ($custom_params eq "" ? () : ($command .= qq` ${custom_params}`));
 
   try {
+    $is_running = $dbh->prepare("UPDATE imapsync SET is_running = 1 WHERE id = ?");
+    $is_running->bind_param( 1, ${id} );
+    $is_running->execute();
     my $stdout = `${command}`
     $update = $dbh->prepare("UPDATE imapsync SET returned_text = ?, last_run = NOW(), is_running = 0 WHERE id = ?");
     $update->bind_param( 1, ${stdout} );