summaryrefslogtreecommitdiffstats
path: root/io.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-23 08:17:17 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-23 08:17:17 +0000
commit4ccd99734480f7ac4524e6c1e6fe51839dbb4c76 (patch)
tree9269306b6508b72e371146550a82350a74815bd5 /io.c
parent9a207a840db34f04d7b08603f0debb251eb48893 (diff)
downloadruby-4ccd99734480f7ac4524e6c1e6fe51839dbb4c76.tar.gz
ruby-4ccd99734480f7ac4524e6c1e6fe51839dbb4c76.tar.xz
ruby-4ccd99734480f7ac4524e6c1e6fe51839dbb4c76.zip
* thread.c, include/ruby/intern.h (rb_thread_interrupted): added.
* io.c: use VALUE of thead instead of rb_tread_t to check interrupts. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/io.c b/io.c
index 2ea192cf4..e45766878 100644
--- a/io.c
+++ b/io.c
@@ -13,7 +13,6 @@
#include "ruby/ruby.h"
#include "ruby/io.h"
-#include "vm_core.h"
#include <ctype.h>
#include <errno.h>
@@ -6979,7 +6978,7 @@ struct copy_stream_struct {
int error_no;
const char *notimp;
rb_fdset_t fds;
- rb_thread_t *th;
+ VALUE th;
};
static int
@@ -7107,7 +7106,7 @@ copy_stream_sendfile(struct copy_stream_struct *stp)
#endif
if (copy_stream_wait_write(stp) == -1)
return -1;
- if (RUBY_VM_INTERRUPTED(stp->th))
+ if (rb_thread_interrupted(stp->th))
return -1;
goto retry_sendfile;
}
@@ -7237,7 +7236,7 @@ copy_stream_read_write(struct copy_stream_struct *stp)
if (!use_eof)
copy_length -= ss;
- if (RUBY_VM_INTERRUPTED(stp->th))
+ if (rb_thread_interrupted(stp->th))
return;
}
}
@@ -7340,7 +7339,7 @@ copy_stream_body(VALUE arg)
rb_io_t *src_fptr = 0, *dst_fptr = 0;
int src_fd, dst_fd;
- stp->th = GET_THREAD();
+ stp->th = rb_thread_current();
stp->total = 0;