static rb_pid_t SysFork ( ) { rb_pid_t pid = rb_fork(0, 0, 0, Qnil); if (pid == 0) rb_thread_atfork(); return pid; }
static GPid client_custom_fork (MilterClient *client) { #ifdef HAVE_RB_FORK int status; return (GPid)rb_fork(&status, NULL, NULL, Qnil); #else VALUE pid; pid = rb_funcall2(rb_mKernel, rb_intern("fork"), 0, 0); if (NIL_P(pid)) { return (GPid)0; } else { return (GPid)NUM2INT(pid); } #endif }