diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-03-14 06:59:55 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-03-14 06:59:55 +0000 |
commit | e368a2e15833892697889a55a873fd3431072a74 (patch) | |
tree | 1aed5ed05092111655c1b278bef38fcd75267b22 /process.c | |
parent | ba8fbae364e862baeb169a23567685563b895119 (diff) | |
download | ruby-e368a2e15833892697889a55a873fd3431072a74.tar.gz |
* process.c (rb_spawn_internal): use int variable for status.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -2838,6 +2838,7 @@ rb_spawn_internal(int argc, VALUE *argv, int default_close_others, char *errmsg, size_t errmsg_buflen) { rb_pid_t pid; + int status; VALUE prog; struct rb_exec_arg earg; #if !defined HAVE_FORK @@ -2852,7 +2853,7 @@ rb_spawn_internal(int argc, VALUE *argv, int default_close_others, rb_exec_arg_fixup(&earg); #if defined HAVE_FORK - pid = rb_fork_err(&pid, rb_exec_atfork, &earg, earg.redirect_fds, errmsg, errmsg_buflen); + pid = rb_fork_err(&status, rb_exec_atfork, &earg, earg.redirect_fds, errmsg, errmsg_buflen); if (prog && earg.argc) earg.argv[0] = prog; #else if (rb_run_exec_options_err(&earg, &sarg, errmsg, errmsg_buflen) < 0) { @@ -2875,8 +2876,8 @@ rb_spawn_internal(int argc, VALUE *argv, int default_close_others, # endif # else if (argc) prog = rb_ary_join(rb_ary_new4(argc, argv), rb_str_new2(" ")); - pid = system(StringValuePtr(prog)); - rb_last_status_set((pid & 0xff) << 8, 0); + status = system(StringValuePtr(prog)); + rb_last_status_set((status & 0xff) << 8, 0); # endif rb_run_exec_options_err(&sarg, NULL, errmsg, errmsg_buflen); |