aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-05 14:33:32 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-05 14:33:32 +0000
commit71e793533194e1dd03036b4e0c3cc4550d822477 (patch)
treeb4ef2b12ff5d1f1b94310b13342610fda4c21082
parenta79bbdf6b5c84a109747d54ac7a5a9449f11fc17 (diff)
downloadruby-71e793533194e1dd03036b4e0c3cc4550d822477.tar.gz
update async-signal-safe comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--process.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/process.c b/process.c
index 5c03157ee3..a773793847 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)
rb_proc_exec_e(prog, e->envp_str); /* not async-signal-safe because after_exec. */
}
else {
- proc_exec_v(prog, e->argv_str, e->envp_str); /* async-signal-safe not checked */
+ proc_exec_v(prog, e->argv_str, e->envp_str); /* not async-signal-safe because dln_find_exe_r */
}
#if !defined(HAVE_FORK)
preserving_errno(rb_run_exec_options_err(sargp, NULL, errmsg, errmsg_buflen));
@@ -2623,12 +2623,12 @@ rb_exec(const struct rb_exec_arg *e)
}
#ifdef HAVE_FORK
-/* This function should be async-signal-safe but rb_thread_atfork_before_exec is not checked. */
+/* This function should be async-signal-safe. */
static int
rb_exec_atfork(void* arg, char *errmsg, size_t errmsg_buflen)
{
- rb_thread_atfork_before_exec();
- return rb_exec_err(arg, errmsg, errmsg_buflen);
+ rb_thread_atfork_before_exec(); /* xxx: not async-signal-safe because it calls rb_thread_atfork_internal which calls st_insert, etc. */
+ return rb_exec_err(arg, errmsg, errmsg_buflen); /* not async-signal-safe because run_exec_dup2, after_exec and dln_find_exe_r */
}
#endif