mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Tidy old jobs every hour instead of every 30 seconds.
This commit is contained in:
		
							
								
								
									
										26
									
								
								server.c
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								server.c
									
									
									
									
									
								
							@@ -48,6 +48,7 @@ static int		 server_fd = -1;
 | 
			
		||||
static uint64_t		 server_client_flags;
 | 
			
		||||
static int		 server_exit;
 | 
			
		||||
static struct event	 server_ev_accept;
 | 
			
		||||
static struct event	 server_ev_tidy;
 | 
			
		||||
 | 
			
		||||
struct cmd_find_state	 marked_pane;
 | 
			
		||||
 | 
			
		||||
@@ -151,15 +152,29 @@ fail:
 | 
			
		||||
	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. */
 | 
			
		||||
int
 | 
			
		||||
server_start(struct tmuxproc *client, int flags, struct event_base *base,
 | 
			
		||||
    int lockfd, char *lockfile)
 | 
			
		||||
{
 | 
			
		||||
	int		  fd;
 | 
			
		||||
	sigset_t	  set, oldset;
 | 
			
		||||
	struct client	 *c = NULL;
 | 
			
		||||
	char		 *cause = NULL;
 | 
			
		||||
	int		 fd;
 | 
			
		||||
	sigset_t	 set, oldset;
 | 
			
		||||
	struct client	*c = NULL;
 | 
			
		||||
	char		*cause = NULL;
 | 
			
		||||
	struct timeval	 tv = { .tv_sec = 3600 };
 | 
			
		||||
 | 
			
		||||
	sigfillset(&set);
 | 
			
		||||
	sigprocmask(SIG_BLOCK, &set, &oldset);
 | 
			
		||||
@@ -218,6 +233,9 @@ server_start(struct tmuxproc *client, int flags, struct event_base *base,
 | 
			
		||||
		free(cause);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	evtimer_set(&server_ev_tidy, server_tidy_event, NULL);
 | 
			
		||||
	evtimer_add(&server_ev_tidy, &tv);
 | 
			
		||||
 | 
			
		||||
	server_add_accept(0);
 | 
			
		||||
	proc_loop(server_proc, server_loop);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user