HEX
Server: LiteSpeed
System: Linux server.searchcove.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64
User: lurax (1083)
PHP: 8.3.30
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/include/dovecot/child-wait.h
#ifndef CHILD_WAIT_H
#define CHILD_WAIT_H

struct child_wait_status {
	struct child_wait *wait;

	pid_t pid;
	int status;
};

typedef void child_wait_callback_t(const struct child_wait_status *status,
				   void *context);

struct child_wait *
child_wait_new_with_pid(pid_t pid, child_wait_callback_t *callback,
			void *context) ATTR_NULL(3);
#define child_wait_new_with_pid(pid, callback, context) \
	child_wait_new_with_pid(pid - \
		CALLBACK_TYPECHECK(callback, void (*)( \
			const struct child_wait_status *status, typeof(context))), \
	(child_wait_callback_t *)callback, context)
#define child_wait_new(callback, context) \
	child_wait_new_with_pid((pid_t)-1, callback, context)
void child_wait_free(struct child_wait **wait);

void child_wait_add_pid(struct child_wait *wait, pid_t pid);
void child_wait_remove_pid(struct child_wait *wait, pid_t pid);

void child_wait_switch_ioloop(void);

void child_wait_init(void);
void child_wait_deinit(void);

#endif