From: Jeff Hostetler via GitGitGadget Date: Thu, 04 Mar 2021 20:17:21 GMT Subject: [PATCH 2/8] unix-socket: simplify initialization of unix_stream_listen_opts Message-ID: <6ef867bf37d366071d5f0f101e7430d859f529b5.1614889047.git.gitgitgadget@gmail.com> In-Reply-To: From: Jeff Hostetler Change the public initialization of `struct unix_stream_listen_opts` to be all zeroes. Hide the default values for the timeout and backlog values inside `unix-socket.c`. Signed-off-by: Jeff Hostetler --- unix-socket.c | 11 +++++++++-- unix-socket.h | 7 ++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/unix-socket.c b/unix-socket.c index 647bbde37f97..c9ea1de43bd2 100644 --- a/unix-socket.c +++ b/unix-socket.c @@ -2,6 +2,9 @@ #include "lockfile.h" #include "unix-socket.h" +#define DEFAULT_UNIX_STREAM_LISTEN_TIMEOUT (100) +#define DEFAULT_UNIX_STREAM_LISTEN_BACKLOG (5) + static int chdir_len(const char *orig, int len) { char *path = xmemdupz(orig, len); @@ -165,14 +168,18 @@ struct unix_stream_server_socket *unix_stream_server__listen_with_lock( const struct unix_stream_listen_opts *opts) { struct lock_file lock = LOCK_INIT; + long timeout; int fd_socket; struct unix_stream_server_socket *server_socket; + timeout = opts->timeout_ms; + if (opts->timeout_ms <= 0) + timeout = DEFAULT_UNIX_STREAM_LISTEN_TIMEOUT; + /* * Create a lock at ".lock" if we can. */ - if (hold_lock_file_for_update_timeout(&lock, path, 0, - opts->timeout_ms) < 0) { + if (hold_lock_file_for_update_timeout(&lock, path, 0, timeout) < 0) { error_errno(_("could not lock listener socket '%s'"), path); return NULL; } diff --git a/unix-socket.h b/unix-socket.h index 8faf5b692f90..bec925ee0213 100644 --- a/unix-socket.h +++ b/unix-socket.h @@ -7,13 +7,10 @@ struct unix_stream_listen_opts { unsigned int disallow_chdir:1; }; -#define DEFAULT_UNIX_STREAM_LISTEN_TIMEOUT (100) -#define DEFAULT_UNIX_STREAM_LISTEN_BACKLOG (5) - #define UNIX_STREAM_LISTEN_OPTS_INIT \ { \ - .timeout_ms = DEFAULT_UNIX_STREAM_LISTEN_TIMEOUT, \ - .listen_backlog_size = DEFAULT_UNIX_STREAM_LISTEN_BACKLOG, \ + .timeout_ms = 0, \ + .listen_backlog_size = 0, \ .disallow_chdir = 0, \ } -- gitgitgadget