diff --git a/ChangeLog b/ChangeLog index 0034c95cf8..12f0abd77b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Jun 4 14:06:12 2012 NAKAMURA Usaku + + * process.c (rb_exec_err): should preserve errno. + Mon Jun 4 13:10:11 2012 NAKAMURA Usaku * test/dl/test_c_{struct,union}_entity.rb: broken require. diff --git a/process.c b/process.c index 55057760fa..8ccfe82995 100644 --- a/process.c +++ b/process.c @@ -2591,7 +2591,7 @@ rb_exec_err(const struct rb_exec_arg *e, char *errmsg, size_t errmsg_buflen) proc_exec_v(prog, e->argv_str, e->envp_str); } #if !defined(HAVE_FORK) - rb_run_exec_options_err(sargp, NULL, errmsg, errmsg_buflen); + preserving_errno(rb_run_exec_options_err(sargp, NULL, errmsg, errmsg_buflen)); #else # undef sargp #endif