From 40b1d64ce77c532436c6769c65a2b98be56e91ad Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Sun, 18 Mar 2012 01:28:10 +0000 Subject: Sync OpenBSD patchset 1043: Use a lock file and flock() to serialize server start, avoids problems when running a bunch of tmux from cron at the same time. Based on a diff from Tim Ruehsen. --- server.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'server.c') diff --git a/server.c b/server.c index c442c666..bbfc133c 100644 --- a/server.c +++ b/server.c @@ -103,7 +103,7 @@ server_create_socket(void) /* Fork new server. */ int -server_start(void) +server_start(int lockfd, char *lockfile) { struct window_pane *wp; int pair[2]; @@ -162,6 +162,10 @@ server_start(void) server_fd = server_create_socket(); server_client_create(pair[1]); + unlink(lockfile); + xfree(lockfile); + close(lockfd); + if (access(SYSTEM_CFG, R_OK) == 0) load_cfg(SYSTEM_CFG, NULL, &cfg_causes); else if (errno != ENOENT) { -- cgit