rootston: Reap child processes
Just install a SIG_IGN handler, which is defined by POSIX.1-2001 to reap the child. To test, spawn any process (e.g. GUI application) with a keybinding, close that process, verify it doesn't show up as a <defunct> zombie in ps(1) output.
This commit is contained in:
		
							parent
							
								
									2297797bf9
								
							
						
					
					
						commit
						b6ed1f29a4
					
				| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
#define _POSIX_C_SOURCE 200112L
 | 
			
		||||
#include <assert.h>
 | 
			
		||||
#include <signal.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <wayland-server.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -15,6 +16,11 @@
 | 
			
		|||
struct roots_server server = { 0 };
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv) {
 | 
			
		||||
	if (signal(SIGCHLD, SIG_IGN) == SIG_ERR) {
 | 
			
		||||
		wlr_log_errno(WLR_ERROR, "Unable to install SIGCHLD handler");
 | 
			
		||||
		return 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	wlr_log_init(WLR_DEBUG, NULL);
 | 
			
		||||
	server.config = roots_config_create_from_args(argc, argv);
 | 
			
		||||
	server.wl_display = wl_display_create();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue