Git development
 help / color / mirror / Atom feed
From: "Paul Tarjan via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Patrick Steinhardt" <ps@pks.im>,
	"Paul Tarjan" <paul@paultarjan.com>,
	"Paul Tarjan via GitGitGadget" <gitgitgadget@gmail.com>,
	"SZEDER Gábor" <szeder.dev@gmail.com>,
	"Jeff King" <peff@peff.net>,
	"Paul Tarjan" <github@paulisageek.com>,
	"Paul Tarjan" <github@paulisageek.com>
Subject: [PATCH v15 05/13] fsmonitor: use pthread_cond_timedwait for cookie wait
Date: Wed, 15 Apr 2026 13:27:29 +0000	[thread overview]
Message-ID: <7b62c95c44bf1981d576e19aca77d26ce77f57b5.1776259657.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.2147.v15.git.git.1776259657.gitgitgadget@gmail.com>

From: Paul Tarjan <github@paulisageek.com>

The cookie wait in with_lock__wait_for_cookie() uses an infinite
pthread_cond_wait() loop.  The existing comment notes the desire
to switch to pthread_cond_timedwait(), but the routine was not
available in git thread-utils.

On certain container or overlay filesystems, inotify watches may
succeed but events are never delivered.  In this case the daemon
would hang indefinitely waiting for the cookie event, which in
turn causes the client to hang.

Replace the infinite wait with a one-second timeout using
pthread_cond_timedwait().  If the timeout fires, report an
error and let the client proceed with a trivial (full-scan)
response rather than blocking forever.

Signed-off-by: Paul Tarjan <github@paulisageek.com>
---
 builtin/fsmonitor--daemon.c | 37 ++++++++++++++++++++++++-------------
 1 file changed, 24 insertions(+), 13 deletions(-)

diff --git a/builtin/fsmonitor--daemon.c b/builtin/fsmonitor--daemon.c
index d8d32b01ef..c8ec7b722e 100644
--- a/builtin/fsmonitor--daemon.c
+++ b/builtin/fsmonitor--daemon.c
@@ -197,20 +197,31 @@ static enum fsmonitor_cookie_item_result with_lock__wait_for_cookie(
 	unlink(cookie_pathname.buf);
 
 	/*
-	 * Technically, this is an infinite wait (well, unless another
-	 * thread sends us an abort).  I'd like to change this to
-	 * use `pthread_cond_timedwait()` and return an error/timeout
-	 * and let the caller do the trivial response thing, but we
-	 * don't have that routine in our thread-utils.
-	 *
-	 * After extensive beta testing I'm not really worried about
-	 * this.  Also note that the above open() and unlink() calls
-	 * will cause at least two FS events on that path, so the odds
-	 * of getting stuck are pretty slim.
+	 * Wait for the listener thread to observe the cookie file.
+	 * Time out after a short interval so that the client
+	 * does not hang forever if the filesystem does not deliver
+	 * events (e.g., on certain container/overlay filesystems
+	 * where inotify watches succeed but events never arrive).
 	 */
-	while (cookie->result == FCIR_INIT)
-		pthread_cond_wait(&state->cookies_cond,
-				  &state->main_lock);
+	{
+		struct timeval now;
+		struct timespec ts;
+		int err = 0;
+
+		gettimeofday(&now, NULL);
+		ts.tv_sec = now.tv_sec + 1;
+		ts.tv_nsec = now.tv_usec * 1000;
+
+		while (cookie->result == FCIR_INIT && !err)
+			err = pthread_cond_timedwait(&state->cookies_cond,
+						     &state->main_lock,
+						     &ts);
+		if (err == ETIMEDOUT && cookie->result == FCIR_INIT) {
+			trace_printf_key(&trace_fsmonitor,
+					 "cookie_wait timed out");
+			cookie->result = FCIR_ERROR;
+		}
+	}
 
 done:
 	hashmap_remove(&state->cookies, &cookie->entry, NULL);
-- 
gitgitgadget


  parent reply	other threads:[~2026-04-15 13:27 UTC|newest]

Thread overview: 211+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-30  8:14 [PATCH] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2025-12-30 11:38 ` Junio C Hamano
2025-12-30 12:08 ` [PATCH v2] " Paul Tarjan via GitGitGadget
2025-12-30 12:55   ` [PATCH v3] " Paul Tarjan via GitGitGadget
2025-12-31 17:41     ` [PATCH v4] " Paul Tarjan via GitGitGadget
2026-01-05 12:07       ` Patrick Steinhardt
2026-02-20 22:18         ` Junio C Hamano
2026-02-21 16:15           ` Paul Tarjan
2026-02-21 17:07             ` Junio C Hamano
2026-02-23  6:34               ` Patrick Steinhardt
2026-02-23 15:42                 ` Junio C Hamano
2026-02-23 15:46                   ` Patrick Steinhardt
2026-02-24  1:34                     ` Paul Tarjan
2026-02-24  8:03                       ` Patrick Steinhardt
2026-02-24  1:31       ` [PATCH v5] " Paul Tarjan via GitGitGadget
2026-02-24  8:03         ` Patrick Steinhardt
2026-02-25 20:17         ` [PATCH v6 00/10] " Paul Tarjan via GitGitGadget
2026-02-25 20:17           ` [PATCH v6 01/10] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-02-25 21:01             ` Junio C Hamano
2026-02-25 20:17           ` [PATCH v6 02/10] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-02-25 20:17           ` [PATCH v6 03/10] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-02-25 20:17           ` [PATCH v6 04/10] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-02-25 21:13             ` Junio C Hamano
2026-02-27  6:31               ` Paul Tarjan
2026-02-27 16:44                 ` Junio C Hamano
2026-02-28  0:28                   ` Paul Tarjan
2026-02-25 21:17             ` Junio C Hamano
2026-02-27  6:31               ` Paul Tarjan
2026-02-25 20:17           ` [PATCH v6 05/10] fsmonitor: deduplicate IPC path logic for Unix platforms Paul Tarjan via GitGitGadget
2026-02-25 21:30             ` Junio C Hamano
2026-02-27  6:31               ` Paul Tarjan
2026-02-25 20:17           ` [PATCH v6 06/10] fsmonitor: deduplicate settings " Paul Tarjan via GitGitGadget
2026-02-25 21:31             ` Junio C Hamano
2026-02-27  6:31               ` Paul Tarjan
2026-02-25 20:17           ` [PATCH v6 07/10] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-02-25 20:17           ` [PATCH v6 08/10] fsmonitor: add tests " Paul Tarjan via GitGitGadget
2026-02-25 20:17           ` [PATCH v6 09/10] run-command: add close_fd_above_stderr option Paul Tarjan via GitGitGadget
2026-02-25 21:41             ` Junio C Hamano
2026-02-25 20:17           ` [PATCH v6 10/10] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-02-26  0:27           ` [PATCH v7 00/10] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-02-26  0:27             ` [PATCH v7 01/10] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-03-04  7:42               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26  0:27             ` [PATCH v7 02/10] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-03-04  7:42               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26  0:27             ` [PATCH v7 03/10] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-03-04  7:42               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26  0:27             ` [PATCH v7 04/10] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-03-04  7:42               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26  0:27             ` [PATCH v7 05/10] fsmonitor: deduplicate IPC path logic for Unix platforms Paul Tarjan via GitGitGadget
2026-03-04  7:42               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26  0:27             ` [PATCH v7 06/10] fsmonitor: deduplicate settings " Paul Tarjan via GitGitGadget
2026-03-04  7:43               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26  0:27             ` [PATCH v7 07/10] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-04  7:43               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26  0:27             ` [PATCH v7 08/10] fsmonitor: add tests " Paul Tarjan via GitGitGadget
2026-03-04  7:43               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26  0:27             ` [PATCH v7 09/10] run-command: add close_fd_above_stderr option Paul Tarjan via GitGitGadget
2026-02-26  0:27             ` [PATCH v7 10/10] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-03-04  7:43               ` Patrick Steinhardt
2026-03-04 18:17                 ` Paul Tarjan
2026-02-26 15:34             ` [PATCH v7 00/10] fsmonitor: implement filesystem change listener for Linux Junio C Hamano
2026-03-04 18:15             ` [PATCH v8 00/12] " Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 01/12] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 02/12] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 03/12] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 04/12] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 05/12] fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 06/12] fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 07/12] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 08/12] run-command: add close_fd_above_stderr option Paul Tarjan via GitGitGadget
2026-03-04 20:51                 ` Junio C Hamano
2026-03-05  0:49                   ` [PATCH v8 09/12] " Paul Tarjan
2026-03-05  4:13                     ` Junio C Hamano
2026-03-05  6:38                       ` [PATCH v9 09/12] run-command: add pre-exec callback for child processes Paul Tarjan
2026-03-04 18:15               ` [PATCH v8 09/12] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 10/12] fsmonitor: add timeout to daemon stop command Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 11/12] fsmonitor: add tests for Linux Paul Tarjan via GitGitGadget
2026-03-04 18:15               ` [PATCH v8 12/12] fsmonitor: convert shown khash to strset in do_handle_client Paul Tarjan via GitGitGadget
2026-03-05  0:51               ` [PATCH v9 00/12] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 01/12] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 02/12] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 03/12] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 04/12] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 05/12] fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 06/12] fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 07/12] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 08/12] run-command: add pre-exec callback for child processes Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 09/12] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 10/12] fsmonitor: add timeout to daemon stop command Paul Tarjan via GitGitGadget
2026-03-05  0:51                 ` [PATCH v9 11/12] fsmonitor: add tests for Linux Paul Tarjan via GitGitGadget
2026-03-05  0:52                 ` [PATCH v9 12/12] fsmonitor: convert shown khash to strset in do_handle_client Paul Tarjan via GitGitGadget
2026-03-05  1:16                 ` [PATCH v10 00/12] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 01/12] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 02/12] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 03/12] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 04/12] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 05/12] fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 06/12] fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 07/12] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 08/12] run-command: add pre-exec callback for child processes Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 09/12] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 10/12] fsmonitor: add timeout to daemon stop command Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 11/12] fsmonitor: add tests for Linux Paul Tarjan via GitGitGadget
2026-03-05  1:16                   ` [PATCH v10 12/12] fsmonitor: convert shown khash to strset in do_handle_client Paul Tarjan via GitGitGadget
2026-03-05  6:55                   ` [PATCH v11 00/12] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 01/12] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 02/12] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 03/12] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 04/12] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 05/12] fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 06/12] fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 07/12] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 08/12] run-command: add close_fd_above_stderr option Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 09/12] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 10/12] fsmonitor: add timeout to daemon stop command Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 11/12] fsmonitor: add tests for Linux Paul Tarjan via GitGitGadget
2026-03-05  6:55                     ` [PATCH v11 12/12] fsmonitor: convert shown khash to strset in do_handle_client Paul Tarjan via GitGitGadget
2026-03-05  7:37                     ` [PATCH v11 00/12] fsmonitor: implement filesystem change listener for Linux Patrick Steinhardt
2026-03-05 14:15                       ` Paul Tarjan
2026-03-25 20:00                       ` Junio C Hamano
2026-03-29  4:47                         ` [PATCH v11 0/8] fsmonitor: add Linux support using inotify Paul Tarjan
2026-03-30 11:40                         ` [PATCH v11 00/12] fsmonitor: implement filesystem change listener for Linux Patrick Steinhardt
2026-03-31  3:34                           ` Junio C Hamano
2026-03-31  6:17                             ` [PATCH v11 0/8] fsmonitor: add Linux support using inotify Paul Tarjan
2026-03-31 16:05                               ` Junio C Hamano
2026-03-31  6:19                     ` [PATCH v12 00/13] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 01/13] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 02/13] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 03/13] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 04/13] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 05/13] fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 06/13] fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 07/13] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 08/13] run-command: add close_fd_above_stderr option Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 09/13] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 10/13] fsmonitor: add timeout to daemon stop command Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 11/13] fsmonitor: add tests for Linux Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 12/13] fsmonitor: convert shown khash to strset in do_handle_client Paul Tarjan via GitGitGadget
2026-03-31  6:19                       ` [PATCH v12 13/13] fsmonitor: fix split-index bitmap bounds in tweak_fsmonitor() Paul Tarjan via GitGitGadget
2026-03-31 16:37                         ` Junio C Hamano
2026-03-31 17:55                           ` Junio C Hamano
2026-04-01  4:19                             ` Paul Tarjan
2026-04-08  4:26                           ` [PATCH v13 01/13] t9210: disable GIT_TEST_SPLIT_INDEX for scalar clone tests Paul Tarjan
2026-04-04 22:10                         ` [PATCH v12 13/13] fsmonitor: fix split-index bitmap bounds in tweak_fsmonitor() Johannes Schindelin
2026-04-05  5:15                           ` Paul Tarjan
2026-04-05  9:26                             ` Johannes Schindelin
2026-04-05 17:25                               ` Paul Tarjan
2026-04-06 16:51                               ` Junio C Hamano
2026-04-06 17:54                       ` [PATCH v13 00/13] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 01/13] t9210: disable GIT_TEST_SPLIT_INDEX for scalar clone tests Paul Tarjan via GitGitGadget
2026-04-07 19:07                           ` Junio C Hamano
2026-04-07 19:09                             ` Junio C Hamano
2026-04-06 17:54                         ` [PATCH v13 02/13] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 03/13] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 04/13] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 05/13] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 06/13] fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 07/13] fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 08/13] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 09/13] run-command: add close_fd_above_stderr option Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 10/13] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 11/13] fsmonitor: add timeout to daemon stop command Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 12/13] fsmonitor: add tests for Linux Paul Tarjan via GitGitGadget
2026-04-06 17:54                         ` [PATCH v13 13/13] fsmonitor: convert shown khash to strset in do_handle_client Paul Tarjan via GitGitGadget
2026-04-09  4:59                         ` [PATCH v14 00/13] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 01/13] t9210, t9211: disable GIT_TEST_SPLIT_INDEX for scalar clone tests Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 02/13] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 03/13] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 04/13] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 05/13] fsmonitor: use pthread_cond_timedwait for cookie wait Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 06/13] fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 07/13] fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 08/13] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 09/13] run-command: add close_fd_above_stderr option Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 10/13] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 11/13] fsmonitor: add timeout to daemon stop command Paul Tarjan via GitGitGadget
2026-04-09  4:59                           ` [PATCH v14 12/13] fsmonitor: add tests for Linux Paul Tarjan via GitGitGadget
2026-04-14 20:20                             ` SZEDER Gábor
2026-04-14 20:40                               ` Junio C Hamano
2026-04-14 22:13                                 ` Jeff King
2026-04-09  4:59                           ` [PATCH v14 13/13] fsmonitor: convert shown khash to strset in do_handle_client Paul Tarjan via GitGitGadget
2026-04-09 18:04                           ` [PATCH v14 00/13] fsmonitor: implement filesystem change listener for Linux Junio C Hamano
2026-04-15 13:27                           ` [PATCH v15 " Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 01/13] t9210, t9211: disable GIT_TEST_SPLIT_INDEX for scalar clone tests Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 02/13] fsmonitor: fix khash memory leak in do_handle_client Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 03/13] fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 04/13] compat/win32: add pthread_cond_timedwait Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` Paul Tarjan via GitGitGadget [this message]
2026-04-15 13:27                             ` [PATCH v15 06/13] fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 07/13] fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 08/13] fsmonitor: implement filesystem change listener for Linux Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 09/13] run-command: add close_fd_above_stderr option Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 10/13] fsmonitor: close inherited file descriptors and detach in daemon Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 11/13] fsmonitor: add timeout to daemon stop command Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 12/13] fsmonitor: add tests for Linux Paul Tarjan via GitGitGadget
2026-04-15 13:27                             ` [PATCH v15 13/13] fsmonitor: convert shown khash to strset in do_handle_client Paul Tarjan via GitGitGadget
2026-04-15 17:50                             ` [PATCH v15 00/13] fsmonitor: implement filesystem change listener for Linux Ben Knoble
2026-04-15 18:43                               ` Junio C Hamano
2026-04-15 21:17                                 ` Ben Knoble
2026-05-12  6:26                               ` Junio C Hamano
2026-05-12 20:36                                 ` D. Ben Knoble
2026-04-15 18:07                             ` Junio C Hamano
2025-12-30 15:37   ` [PATCH v2] " Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7b62c95c44bf1981d576e19aca77d26ce77f57b5.1776259657.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=github@paulisageek.com \
    --cc=paul@paultarjan.com \
    --cc=peff@peff.net \
    --cc=ps@pks.im \
    --cc=szeder.dev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox