version 1.196, 2021/02/11 09:39:29 |
version 1.197, 2021/03/11 07:08:18 |
|
|
static uint64_t server_client_flags; |
static uint64_t server_client_flags; |
static int server_exit; |
static int server_exit; |
static struct event server_ev_accept; |
static struct event server_ev_accept; |
|
static struct event server_ev_tidy; |
|
|
struct cmd_find_state marked_pane; |
struct cmd_find_state marked_pane; |
|
|
|
|
return (-1); |
return (-1); |
} |
} |
|
|
|
/* Tidy up every hour. */ |
|
static void |
|
server_tidy_event(__unused int fd, __unused short events, __unused void *data) |
|
{ |
|
struct timeval tv = { .tv_sec = 3600 }; |
|
uint64_t t = get_timer(); |
|
|
|
format_tidy_jobs(); |
|
|
|
log_debug("%s: took %llu milliseconds", __func__, get_timer() - t); |
|
evtimer_add(&server_ev_tidy, &tv); |
|
} |
|
|
/* Fork new server. */ |
/* Fork new server. */ |
int |
int |
server_start(struct tmuxproc *client, int flags, struct event_base *base, |
server_start(struct tmuxproc *client, int flags, struct event_base *base, |
int lockfd, char *lockfile) |
int lockfd, char *lockfile) |
{ |
{ |
int fd; |
int fd; |
sigset_t set, oldset; |
sigset_t set, oldset; |
struct client *c = NULL; |
struct client *c = NULL; |
char *cause = NULL; |
char *cause = NULL; |
|
struct timeval tv = { .tv_sec = 3600 }; |
|
|
sigfillset(&set); |
sigfillset(&set); |
sigprocmask(SIG_BLOCK, &set, &oldset); |
sigprocmask(SIG_BLOCK, &set, &oldset); |
|
|
} |
} |
free(cause); |
free(cause); |
} |
} |
|
|
|
evtimer_set(&server_ev_tidy, server_tidy_event, NULL); |
|
evtimer_add(&server_ev_tidy, &tv); |
|
|
server_add_accept(0); |
server_add_accept(0); |
proc_loop(server_proc, server_loop); |
proc_loop(server_proc, server_loop); |