aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornicm <nicm>2015-08-30 22:19:07 +0000
committernicm <nicm>2015-08-30 22:19:07 +0000
commitdd92b6e83dbd4b5f24ad062c7944ca32add8d0e5 (patch)
treef5e6ea398be66c736832a59b88505a3791a4fd8b
parentb87dc608d9b5b470926aaf77c5956befdfb7bc7b (diff)
downloadrtmux-dd92b6e83dbd4b5f24ad062c7944ca32add8d0e5.tar.gz
rtmux-dd92b6e83dbd4b5f24ad062c7944ca32add8d0e5.tar.bz2
rtmux-dd92b6e83dbd4b5f24ad062c7944ca32add8d0e5.zip
Event base does not need to be global.
-rw-r--r--client.c10
-rw-r--r--server.c4
-rw-r--r--tmux.c5
-rw-r--r--tmux.h5
4 files changed, 10 insertions, 14 deletions
diff --git a/client.c b/client.c
index 63432926..271568da 100644
--- a/client.c
+++ b/client.c
@@ -52,7 +52,7 @@ const char *client_exitsession;
int client_attached;
int client_get_lock(char *);
-int client_connect(char *, int);
+int client_connect(struct event_base *, char *, int);
void client_send_identify(int);
int client_write_one(enum msgtype, int, const void *, size_t);
int client_write_server(enum msgtype, const void *, size_t);
@@ -96,7 +96,7 @@ client_get_lock(char *lockfile)
/* Connect client to server. */
int
-client_connect(char *path, int start_server)
+client_connect(struct event_base *base, char *path, int start_server)
{
struct sockaddr_un sa;
size_t size;
@@ -149,7 +149,7 @@ retry:
close(lockfd);
return (-1);
}
- fd = server_start(lockfd, lockfile);
+ fd = server_start(base, lockfd, lockfile);
}
if (locked) {
free(lockfile);
@@ -203,7 +203,7 @@ client_exit_message(void)
/* Client main loop. */
int
-client_main(int argc, char **argv, int flags)
+client_main(struct event_base *base, int argc, char **argv, int flags)
{
struct cmd *cmd;
struct cmd_list *cmdlist;
@@ -252,7 +252,7 @@ client_main(int argc, char **argv, int flags)
set_signals(client_signal);
/* Initialize the client socket and start the server. */
- fd = client_connect(socket_path, cmdflags & CMD_STARTSERVER);
+ fd = client_connect(base, socket_path, cmdflags & CMD_STARTSERVER);
if (fd == -1) {
if (errno == ECONNREFUSED) {
fprintf(stderr, "no server running on %s\n",
diff --git a/server.c b/server.c
index 9cddecd3..8308367d 100644
--- a/server.c
+++ b/server.c
@@ -158,7 +158,7 @@ server_create_socket(void)
/* Fork new server. */
int
-server_start(int lockfd, char *lockfile)
+server_start(struct event_base *base, int lockfd, char *lockfile)
{
int pair[2];
char *cause;
@@ -188,7 +188,7 @@ server_start(int lockfd, char *lockfile)
/* event_init() was called in our parent, need to reinit. */
clear_signals(0);
- if (event_reinit(ev_base) != 0)
+ if (event_reinit(base) != 0)
fatal("event_reinit failed");
logfile("server");
diff --git a/tmux.c b/tmux.c
index e66d24c0..b984b903 100644
--- a/tmux.c
+++ b/tmux.c
@@ -41,8 +41,6 @@ struct options global_s_options; /* session options */
struct options global_w_options; /* window options */
struct environ global_environ;
-struct event_base *ev_base;
-
char *cfg_file;
char *shell_cmd;
int debug_level;
@@ -386,6 +384,5 @@ main(int argc, char **argv)
setproctitle("%s (%s)", __progname, socket_path);
/* Pass control to the client. */
- ev_base = event_init();
- exit(client_main(argc, argv, flags));
+ exit(client_main(event_init(), argc, argv, flags));
}
diff --git a/tmux.h b/tmux.h
index 10b161de..3b67470f 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1407,7 +1407,6 @@ extern struct options global_options;
extern struct options global_s_options;
extern struct options global_w_options;
extern struct environ global_environ;
-extern struct event_base *ev_base;
extern char *cfg_file;
extern char *shell_cmd;
extern int debug_level;
@@ -1792,7 +1791,7 @@ int cmd_string_parse(const char *, struct cmd_list **, const char *,
void cmd_wait_for_flush(void);
/* client.c */
-int client_main(int, char **, int);
+int client_main(struct event_base *, int, char **, int);
/* key-bindings.c */
RB_PROTOTYPE(key_bindings, key_binding, entry, key_bindings_cmp);
@@ -1829,7 +1828,7 @@ void server_clear_marked(void);
int server_is_marked(struct session *, struct winlink *,
struct window_pane *);
int server_check_marked(void);
-int server_start(int, char *);
+int server_start(struct event_base *, int, char *);
void server_update_socket(void);
void server_add_accept(int);