Package: release.debian.org
Severity: normal
Tags: bullseye
User: [email protected]
Usertags: pu

Hello,

I'm seeking permission to upload tmux/3.1c-1+deb11u1 to bullseye; it
fixes a regression which results in tmux not loading its configuration
during startup in some situations (#992202).

Full debdiff attached.

Thanks,
diffstat for tmux-3.1c tmux-3.1c

 changelog                        |    9 +++++++++
 patches/series                   |    1 +
 patches/upstream-7a4aa14618.diff |   28 ++++++++++++++++++++++++++++
 3 files changed, 38 insertions(+)

diff -Nru tmux-3.1c/debian/changelog tmux-3.1c/debian/changelog
--- tmux-3.1c/debian/changelog  2020-11-01 13:45:43.000000000 +0100
+++ tmux-3.1c/debian/changelog  2021-09-11 23:24:41.000000000 +0200
@@ -1,3 +1,12 @@
+tmux (3.1c-1+deb11u1) bullseye; urgency=medium
+
+  * Cherry-pick commit 7a4aa14618 from upstream to fix race condition
+    which results in the config not being loaded if several clients are
+    interacting with the server while it's initializing (upstream GitHub
+    issue #2438, closes: #992202).
+
+ -- Romain Francoise <[email protected]>  Sat, 11 Sep 2021 23:24:41 +0200
+
 tmux (3.1c-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru tmux-3.1c/debian/patches/series tmux-3.1c/debian/patches/series
--- tmux-3.1c/debian/patches/series     2020-11-01 13:45:43.000000000 +0100
+++ tmux-3.1c/debian/patches/series     2021-09-11 23:06:29.000000000 +0200
@@ -1 +1,2 @@
 platform-quirks.diff
+upstream-7a4aa14618.diff
diff -Nru tmux-3.1c/debian/patches/upstream-7a4aa14618.diff 
tmux-3.1c/debian/patches/upstream-7a4aa14618.diff
--- tmux-3.1c/debian/patches/upstream-7a4aa14618.diff   1970-01-01 
01:00:00.000000000 +0100
+++ tmux-3.1c/debian/patches/upstream-7a4aa14618.diff   2021-09-11 
23:06:36.000000000 +0200
@@ -0,0 +1,28 @@
+commit 7a4aa146187cc60d2df66333b3e7dd5a5176f793
+Author: Nicholas Marriott <[email protected]>
+Date:   Wed Oct 28 10:09:10 2020 +0000
+
+    Do not require that there be no other clients before loading the config,
+    being the first client is enough. GitHub issue 2438.
+
+--- a/server-client.c
++++ b/server-client.c
+@@ -1975,13 +1975,13 @@
+       }
+ 
+       /*
+-       * If this is the first client that has finished identifying, load
+-       * configuration files.
++       * If this is the first client, load configuration files. Any later
++       * clients are allowed to continue with their command even if the
++       * config has not been loaded - they might have been run from inside it
+        */
+       if ((~c->flags & CLIENT_EXIT) &&
+-          !cfg_finished &&
+-          c == TAILQ_FIRST(&clients) &&
+-          TAILQ_NEXT(c, entry) == NULL)
++           !cfg_finished &&
++           c == TAILQ_FIRST(&clients))
+               start_cfg();
+ }
+ 

Reply via email to