aboutsummaryrefslogtreecommitdiffstats
path: root/compat/simple-ipc/ipc-shared.c
diff options
context:
space:
mode:
authorTaylor Blau <me@ttaylorr.com>2024-10-15 16:56:43 -0400
committerTaylor Blau <me@ttaylorr.com>2024-10-15 16:56:43 -0400
commitb43e23fa02427067ceb605a5dd5ea602de4c6ac5 (patch)
treef3807a33e9cd06c829fdb1262a52eeb594f81920 /compat/simple-ipc/ipc-shared.c
parentMerge branch 'xx/remote-server-option-config' (diff)
parentfsmonitor: initialize fs event listener before accepting clients (diff)
downloadgit-b43e23fa02427067ceb605a5dd5ea602de4c6ac5.tar.gz
git-b43e23fa02427067ceb605a5dd5ea602de4c6ac5.zip
Merge branch 'jk/fsmonitor-event-listener-race-fix'
On macOS, fsmonitor can fall into a race condition that results in a client waiting forever to be notified for an event that have already happened. This problem has been corrected. * jk/fsmonitor-event-listener-race-fix: fsmonitor: initialize fs event listener before accepting clients simple-ipc: split async server initialization and running
Diffstat (limited to 'compat/simple-ipc/ipc-shared.c')
-rw-r--r--compat/simple-ipc/ipc-shared.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/compat/simple-ipc/ipc-shared.c b/compat/simple-ipc/ipc-shared.c
index cb176d966f..d1c21b49bd 100644
--- a/compat/simple-ipc/ipc-shared.c
+++ b/compat/simple-ipc/ipc-shared.c
@@ -16,11 +16,12 @@ int ipc_server_run(const char *path, const struct ipc_server_opts *opts,
struct ipc_server_data *server_data = NULL;
int ret;
- ret = ipc_server_run_async(&server_data, path, opts,
- application_cb, application_data);
+ ret = ipc_server_init_async(&server_data, path, opts,
+ application_cb, application_data);
if (ret)
return ret;
+ ipc_server_start_async(server_data);
ret = ipc_server_await(server_data);
ipc_server_free(server_data);