 b48bed5f42
			
		
	
	b48bed5f42
	
	
	
		
			
			Tests that start daemons have to "wait" for them to start. This commit makes Heimdal daemons prep to detach (when requested) by forking early, then having the child signal readiness to the parent when the child really is ready. The parent exits only which the child is ready. This means that tests will no longer need to wait for daemons. However, tests will still need a pidfile or such so they can stop the daemons. Note that the --detach options should not be used on OS X from launchd, only from tests.
		
			
				
	
	
		
			212 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| HEIMDAL_ROKEN_1.0 {
 | |
| 	global:
 | |
| 		arg_printusage;
 | |
| 		arg_printusage_i18n;
 | |
| 		cgetcap;
 | |
| 		cgetclose;
 | |
| 		cgetmatch;
 | |
| 		cgetnum;
 | |
| 		cgetset;
 | |
| 		cgetustr;
 | |
| 		ct_memcmp;
 | |
| 		err;
 | |
| 		errx;
 | |
| 		free_getarg_strings;
 | |
| 		get_default_username;
 | |
| 		get_window_size;
 | |
| 		getarg;
 | |
| 		getnameinfo_verified;
 | |
| 		hex_decode;
 | |
| 		hex_encode;
 | |
| 		issuid;
 | |
| 		k_getpwnam;
 | |
| 		k_getpwuid;
 | |
| 		mini_inetd;
 | |
| 		mini_inetd_addrinfo;
 | |
| 		net_read;
 | |
| 		net_write;
 | |
| 		parse_bytes;
 | |
| 		parse_flags;
 | |
| 		parse_time;
 | |
| 		parse_units;
 | |
| 		print_flags_table;
 | |
| 		print_time_table;
 | |
| 		print_units_table;
 | |
| 		rk_asnprintf;
 | |
| 		rk_asprintf;
 | |
| 		rk_base64_decode;
 | |
| 		rk_base64_encode;
 | |
| 		rk_bswap16;
 | |
| 		rk_bswap32;
 | |
| 		rk_cgetent;
 | |
| 		rk_cgetstr;
 | |
| 		rk_cloexec;
 | |
| 		rk_cloexec_file;
 | |
|                 rk_cloexec_dir;
 | |
|                 rk_cloexec_socket;
 | |
| 		rk_closefrom;
 | |
| 		rk_copyhostent;
 | |
| 		rk_dns_free_data;
 | |
| 		rk_dns_lookup;
 | |
| 		rk_dns_srv_order;
 | |
| 		rk_dns_string_to_type;
 | |
| 		rk_dns_type_to_string;
 | |
| 		rk_dumpdata;
 | |
| 		rk_ecalloc;
 | |
| 		rk_emalloc;
 | |
| 		rk_eread;
 | |
| 		rk_erealloc;
 | |
| 		rk_esetenv;
 | |
| 		rk_estrdup;
 | |
| 		rk_ewrite;
 | |
| 		rk_flock;
 | |
| 		rk_fnmatch;
 | |
| 		rk_free_environment;
 | |
| 		rk_freeaddrinfo;
 | |
| 		rk_freehostent;
 | |
| 		rk_freeifaddrs;
 | |
| 		rk_gai_strerror;
 | |
| 		rk_getaddrinfo;
 | |
| 		rk_getifaddrs;
 | |
| 		rk_getipnodebyaddr;
 | |
| 		rk_getipnodebyname;
 | |
| 		rk_getnameinfo;
 | |
| 		rk_getprogname;
 | |
| 		rk_glob;
 | |
| 		rk_globfree;
 | |
| 		rk_hex_decode;
 | |
| 		rk_hex_encode;
 | |
| 		rk_hostent_find_fqdn;
 | |
| 		rk_inet_ntop;
 | |
| 		rk_inet_pton;
 | |
| 		rk_localtime_r;
 | |
| 		rk_memset_s;
 | |
| 		rk_mkdir;
 | |
| 		rk_mkstemp;
 | |
| 		rk_pid_file_delete;
 | |
| 		rk_pid_file_write;
 | |
| 		rk_pidfile;
 | |
| 		rk_pipe_execv;
 | |
| 		rk_random_init;
 | |
| 		rk_read_environment;
 | |
| 		rk_readv;
 | |
| 		rk_realloc;
 | |
| 		rk_strerror;
 | |
| 		rk_strerror_r;
 | |
| 		rk_setprogname;
 | |
| 		rk_simple_execle;
 | |
| 		rk_simple_execlp;
 | |
| 		rk_simple_execve;
 | |
| 		rk_simple_execve_timed;
 | |
| 		rk_simple_execvp;
 | |
| 		rk_simple_execvp_timed;
 | |
| 		rk_socket;
 | |
| 		rk_socket_addr_size;
 | |
| 		rk_socket_get_address;
 | |
| 		rk_socket_get_port;
 | |
| 		rk_socket_set_address_and_port;
 | |
| 		rk_socket_set_any;
 | |
| 		rk_socket_set_debug;
 | |
| 		rk_socket_set_ipv6only;
 | |
| 		rk_socket_set_nonblocking;
 | |
| 		rk_socket_set_port;
 | |
| 		rk_socket_set_portrange;
 | |
| 		rk_socket_set_reuseaddr;
 | |
| 		rk_socket_set_tos;
 | |
| 		rk_socket_sockaddr_size;
 | |
| 		rk_strcollect;
 | |
| 		rk_strftime;
 | |
| 		rk_strlcat;
 | |
| 		rk_strlcpy;
 | |
| 		rk_strlwr;
 | |
| 		rk_strndup;
 | |
| 		rk_strnlen;
 | |
| 		rk_strpoolcollect;
 | |
| 		rk_strpoolfree;
 | |
| 		rk_strpoolprintf;
 | |
| 		rk_strptime;
 | |
| 		rk_strsep_copy;
 | |
| 		rk_strsvis;
 | |
| 		rk_strsvis;
 | |
| 		rk_strsvisx;
 | |
| 		rk_strtoll;
 | |
| 		rk_strtoull;
 | |
| 		rk_strunvis;
 | |
| 		rk_strunvis;
 | |
| 		rk_strunvisx;
 | |
| 		rk_strupr;
 | |
| 		rk_strvis;
 | |
| 		rk_strvis;
 | |
| 		rk_strvisx;
 | |
| 		rk_strvisx;
 | |
| 		rk_svis;
 | |
| 		rk_svis;
 | |
| 		rk_timegm;
 | |
| 		rk_timevaladd;
 | |
| 		rk_timevalfix;
 | |
| 		rk_timevalsub;
 | |
| 		rk_tdelete;
 | |
| 		rk_tfind;
 | |
| 		rk_tsearch;
 | |
| 		rk_twalk;
 | |
| 		rk_undumpdata;
 | |
| 		rk_unvis;
 | |
| 		rk_vasnprintf;
 | |
| 		rk_vasprintf;
 | |
| 		rk_vis;
 | |
| 		rk_vis;
 | |
| 		rk_vsnprintf;
 | |
| 		rk_vstrcollect;
 | |
| 		rk_wait_for_process;
 | |
| 		rk_wait_for_process_timed;
 | |
| 		rk_warnerr;
 | |
| 		rk_xfree;
 | |
| 		roken_concat;
 | |
| 		roken_detach_prep;
 | |
| 		roken_detach_finish;
 | |
| 		roken_getaddrinfo_hostspec2;
 | |
| 		roken_getaddrinfo_hostspec;
 | |
| 		roken_gethostby_setup;
 | |
| 		roken_gethostbyaddr;
 | |
| 		roken_gethostbyname;
 | |
| 		roken_mconcat;
 | |
| 		roken_vconcat;
 | |
| 		roken_vmconcat;
 | |
| 		rtbl_add_column;
 | |
| 		rtbl_add_column_by_id;
 | |
| 		rtbl_add_column_entry;
 | |
| 		rtbl_add_column_entry_by_id;
 | |
| 		rtbl_add_column_entryv;
 | |
| 		rtbl_add_column_entryv_by_id;
 | |
| 		rtbl_create;
 | |
| 		rtbl_destroy;
 | |
| 		rtbl_format;
 | |
| 		rtbl_get_flags;
 | |
| 		rtbl_new_row;
 | |
| 		rtbl_set_column_affix_by_id;
 | |
| 		rtbl_set_column_prefix;
 | |
| 		rtbl_set_flags;
 | |
| 		rtbl_set_prefix;
 | |
| 		rtbl_set_separator;
 | |
| 		signal;
 | |
| 		simple_execl;
 | |
| 		tm2time;
 | |
| 		unix_verify_user;
 | |
| 		unparse_bytes;
 | |
| 		unparse_bytes_short;
 | |
| 		unparse_flags;
 | |
| 		unparse_time;
 | |
| 		unparse_time_approx;
 | |
| 		unparse_units;
 | |
| 		unparse_units_approx;
 | |
| 		verr;
 | |
| 		verrx;
 | |
| 		vwarn;
 | |
| 		vwarnx;
 | |
| 		warn;
 | |
| 		warnx;
 | |
| 		writev;
 | |
| 	local:
 | |
| 		*;
 | |
| };
 |