| Server IP : 85.214.143.32 / Your IP : 216.73.217.113 Web Server : nginx/1.24.0 System : Linux datensicherung.webdress.site 6.8.0-139-generic #139-Ubuntu SMP PREEMPT_DYNAMIC Sat Aug 1 03:52:05 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/include/dovecot/ |
Upload File : |
#ifndef TEST_SUBPROCESS_H #define TEST_SUBPROCESS_H struct test_subprocess; /* Fork a sub-process for this test. The func is the main function for the forked sub-process. The provided context is passed to the provided function. When continue_test=FALSE, the test is ended immediately in the sub-process, otherwise, the test continues and its result is used to set the exit code when the process ends gracefully. */ void test_subprocess_fork(int (*func)(void *), void *context, bool continue_test); #define test_subprocess_fork(func, context, continue_test) \ test_subprocess_fork( \ (int(*)(void*))func, \ (TRUE ? context : \ CALLBACK_TYPECHECK(func, int(*)(typeof(context)))), \ continue_test) void test_subprocess_kill_all(unsigned int timeout_secs); /* Set a cleanup callback that is executed even when the test program crashes or exit()s unexpectedly. Note that this may be run in signal context. */ void test_subprocess_set_cleanup_callback(void (*callback)(void)); /* Send a notification signal (SIGHUP) to the given PID */ void test_subprocess_notify_signal_send(int signo, pid_t pid); /* Send a notificatino signal to the parent process. */ void test_subprocess_notify_signal_send_parent(int signo); /* Reset any previously sent notification signals. */ void test_subprocess_notify_signal_reset(int signo); /* Wait until a notification signal is sent, or return immediately if it was already sent. test_subprocess_notify_signal_reset() should be called before this to make sure it's not returning due to a previously sent signal. If the timeout is reached, i_fatal() is called. */ void test_subprocess_notify_signal_wait(int signo, unsigned int timeout_msecs); void test_subprocesses_init(bool debug); void test_subprocesses_deinit(void); #endif