summaryrefslogtreecommitdiffstats
path: root/process.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-11-21 15:42:12 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-11-21 15:42:12 +0000
commit9b6171018a22c29feeab7635376da16f6051ecdb (patch)
tree8a2e0db3367f57d457917a2637feec1dd657b6ad /process.c
parent8cfe0591bd139d14ddd9408dfc15e5628c4b9247 (diff)
downloadruby-9b6171018a22c29feeab7635376da16f6051ecdb.tar.gz
ruby-9b6171018a22c29feeab7635376da16f6051ecdb.tar.xz
ruby-9b6171018a22c29feeab7635376da16f6051ecdb.zip
* parse.y (str_extend): should check nesting parentheses in #{}.
* process.c (pst_wstopsig): returns nil unless WIFSTOPPED() is non-zero. * process.c (pst_wtermsig): returns nil unless WIFSIGNALED() is non-zero. * process.c (pst_wexitstatus): returns nil unless WIFEXITED() is non-zero. * eval.c (rb_thread_select): tv_sec and tv_usec should not be negative. * signal.c (posix_signal): do not set SA_RESTART for SIGVTALRM. * parse.y (call_args2): block_arg may follow the first argument in call_args2. * eval.c (stack_check): should avoid stack length check during raising SystemStackError exception. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r--process.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/process.c b/process.c
index a72f00306..81685d0c1 100644
--- a/process.c
+++ b/process.c
@@ -161,7 +161,9 @@ pst_wstopsig(st)
{
int status = NUM2INT(st);
- return INT2NUM(WSTOPSIG(status));
+ if (WIFSTOPPED(status))
+ return INT2NUM(WSTOPSIG(status));
+ return Qnil;
}
static VALUE
@@ -182,7 +184,9 @@ pst_wtermsig(st)
{
int status = NUM2INT(st);
- return INT2NUM(WTERMSIG(status));
+ if (WIFSIGNALED(status))
+ return INT2NUM(WTERMSIG(status));
+ return Qnil;
}
static VALUE
@@ -203,7 +207,9 @@ pst_wexitstatus(st)
{
int status = NUM2INT(st);
- return INT2NUM(WEXITSTATUS(status));
+ if (WIFEXITED(status))
+ return INT2NUM(WEXITSTATUS(status));
+ return Qnil;
}
static VALUE