1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* eval.c (rb_thread_schedule): need to preserve errno before

calling rb_trap_exec().

* regex.c (calculate_must_string): a bug in charset/charset_not
  parsing.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2002-05-21 05:41:01 +00:00
parent 34ba292382
commit 2c2a6e0c2b
3 changed files with 13 additions and 3 deletions

View file

@ -26,6 +26,14 @@ Thu May 16 15:14:48 2002 WATANABE Hirofumi <eban@ruby-lang.org>
* djgpp/config.hin, djgpp/config.sed: catch up with the latest change.
Wed May 15 06:13:35 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_thread_schedule): need to preserve errno before
calling rb_trap_exec().
* regex.c (calculate_must_string): a bug in charset/charset_not
parsing.
Tue May 14 14:49:05 2002 WATANABE Hirofumi <eban@ruby-lang.org>
* gc.c (is_pointer_to_heap): avoid GCC 3.1 warnings.

6
eval.c
View file

@ -7638,10 +7638,12 @@ rb_thread_schedule()
n = select(max+1, &readfds, &writefds, &exceptfds, delay_ptr);
if (n < 0) {
int e = errno;
if (rb_trap_pending) rb_trap_exec();
if (errno == EINTR) goto again;
if (e == EINTR) goto again;
#ifdef ERESTART
if (errno == ERESTART) goto again;
if (e == ERESTART) goto again;
#endif
FOREACH_THREAD_FROM(curr, th) {
if (th->wait_for & WAIT_SELECT) {

View file

@ -1045,7 +1045,7 @@ calculate_must_string(start, end)
p += mcnt;
mcnt = EXTRACT_UNSIGNED_AND_INCR(p);
while (mcnt--) {
p += 4;
p += 8;
}
break;