summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--process.c2
2 files changed, 5 insertions, 1 deletions
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 <usa@ruby-lang.org>
+
+ * process.c (rb_exec_err): should preserve errno.
+
Mon Jun 4 13:10:11 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* 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