mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		
							
								
								
									
										22
									
								
								server.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								server.c
									
									
									
									
									
								
							| @@ -43,7 +43,7 @@ | |||||||
| struct clients	 clients; | struct clients	 clients; | ||||||
|  |  | ||||||
| int		 server_fd; | int		 server_fd; | ||||||
| int		 server_shutdown; | int		 server_exit; | ||||||
| struct event	 server_ev_accept; | struct event	 server_ev_accept; | ||||||
|  |  | ||||||
| struct session		*marked_session; | struct session		*marked_session; | ||||||
| @@ -54,8 +54,8 @@ struct layout_cell	*marked_layout_cell; | |||||||
|  |  | ||||||
| int	server_create_socket(void); | int	server_create_socket(void); | ||||||
| void	server_loop(void); | void	server_loop(void); | ||||||
| int	server_should_shutdown(void); | int	server_should_exit(void); | ||||||
| void	server_send_shutdown(void); | void	server_send_exit(void); | ||||||
| void	server_accept_callback(int, short, void *); | void	server_accept_callback(int, short, void *); | ||||||
| void	server_signal_callback(int, short, void *); | void	server_signal_callback(int, short, void *); | ||||||
| void	server_child_signal(void); | void	server_child_signal(void); | ||||||
| @@ -233,7 +233,7 @@ server_start(struct event_base *base, int lockfd, char *lockfile) | |||||||
| void | void | ||||||
| server_loop(void) | server_loop(void) | ||||||
| { | { | ||||||
| 	while (!server_should_shutdown()) { | 	while (!server_should_exit()) { | ||||||
| 		log_debug("event dispatch enter"); | 		log_debug("event dispatch enter"); | ||||||
| 		event_loop(EVLOOP_ONCE); | 		event_loop(EVLOOP_ONCE); | ||||||
| 		log_debug("event dispatch exit"); | 		log_debug("event dispatch exit"); | ||||||
| @@ -244,7 +244,7 @@ server_loop(void) | |||||||
|  |  | ||||||
| /* Check if the server should exit (no more clients or sessions). */ | /* Check if the server should exit (no more clients or sessions). */ | ||||||
| int | int | ||||||
| server_should_shutdown(void) | server_should_exit(void) | ||||||
| { | { | ||||||
| 	struct client	*c; | 	struct client	*c; | ||||||
|  |  | ||||||
| @@ -269,9 +269,9 @@ server_should_shutdown(void) | |||||||
| 	return (1); | 	return (1); | ||||||
| } | } | ||||||
|  |  | ||||||
| /* Shutdown the server by killing all clients and windows. */ | /* Exit the server by killing all clients and windows. */ | ||||||
| void | void | ||||||
| server_send_shutdown(void) | server_send_exit(void) | ||||||
| { | { | ||||||
| 	struct client	*c, *c1; | 	struct client	*c, *c1; | ||||||
| 	struct session	*s, *s1; | 	struct session	*s, *s1; | ||||||
| @@ -282,7 +282,7 @@ server_send_shutdown(void) | |||||||
| 		if (c->flags & (CLIENT_BAD|CLIENT_SUSPENDED)) | 		if (c->flags & (CLIENT_BAD|CLIENT_SUSPENDED)) | ||||||
| 			server_client_lost(c); | 			server_client_lost(c); | ||||||
| 		else | 		else | ||||||
| 			server_write_client(c, MSG_SHUTDOWN, NULL, 0); | 			server_write_client(c, MSG_EXIT, NULL, 0); | ||||||
| 		c->session = NULL; | 		c->session = NULL; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -349,7 +349,7 @@ server_accept_callback(int fd, short events, unused void *data) | |||||||
| 		} | 		} | ||||||
| 		fatal("accept failed"); | 		fatal("accept failed"); | ||||||
| 	} | 	} | ||||||
| 	if (server_shutdown) { | 	if (server_exit) { | ||||||
| 		close(newfd); | 		close(newfd); | ||||||
| 		return; | 		return; | ||||||
| 	} | 	} | ||||||
| @@ -387,8 +387,8 @@ server_signal_callback(int sig, unused short events, unused void *data) | |||||||
|  |  | ||||||
| 	switch (sig) { | 	switch (sig) { | ||||||
| 	case SIGTERM: | 	case SIGTERM: | ||||||
| 		server_shutdown = 1; | 		server_exit = 1; | ||||||
| 		server_send_shutdown(); | 		server_send_exit(); | ||||||
| 		break; | 		break; | ||||||
| 	case SIGCHLD: | 	case SIGCHLD: | ||||||
| 		server_child_signal(); | 		server_child_signal(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Thomas Adam
					Thomas Adam