diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-11-21 15:36:37 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-11-21 15:36:37 +0000 |
commit | da795859595f66e01b9504acf2e89377761d5e4b (patch) | |
tree | dfeb713542ea1303aa073390965b6e2b284dd35d /signal.c | |
parent | 904c9d27cedee45de9c3af0561cc1b5a66d3920e (diff) |
* parse.y (str_extend): should check nesting parentheses in #{}.
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -293,7 +293,12 @@ posix_signal(signum, handler) sigemptyset(&sigact.sa_mask); sigact.sa_flags = 0; #ifdef SA_RESTART - sigact.sa_flags |= SA_RESTART; /* SVR4, 4.3+BSD */ + /* All other signals but VTALRM shall restart restartable syscall + VTALRM will cause EINTR to syscall if interrupted. + */ + if (signum != SIGVTALRM) { + sigact.sa_flags |= SA_RESTART; /* SVR4, 4.3+BSD */ + } #endif #ifdef SA_NOCLDWAIT if (signum == SIGCHLD && handler == SIG_IGN) |