Stop using casted rb_syswait
as proc_syswait
The argument of `rb_syswait` is now `rb_pid_t` which may differ from `int`. Also it is an undefined behavior to take the result of casted void function (in `rb_protect`).
This commit is contained in:
parent
f245b425af
commit
e545cfad20
@ -3773,16 +3773,12 @@ rb_exec_atfork(void* arg, char *errmsg, size_t errmsg_buflen)
|
|||||||
return rb_exec_async_signal_safe(arg, errmsg, errmsg_buflen); /* hopefully async-signal-safe */
|
return rb_exec_async_signal_safe(arg, errmsg, errmsg_buflen); /* hopefully async-signal-safe */
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SIZEOF_INT == SIZEOF_VALUE
|
|
||||||
#define proc_syswait (VALUE (*)(VALUE))rb_syswait
|
|
||||||
#else
|
|
||||||
static VALUE
|
static VALUE
|
||||||
proc_syswait(VALUE pid)
|
proc_syswait(VALUE pid)
|
||||||
{
|
{
|
||||||
rb_syswait((int)pid);
|
rb_syswait((rb_pid_t)pid);
|
||||||
return Qnil;
|
return Qnil;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
move_fds_to_avoid_crash(int *fdp, int n, VALUE fds)
|
move_fds_to_avoid_crash(int *fdp, int n, VALUE fds)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user