diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | class.c | 3 | ||||
-rw-r--r-- | common.mk | 46 | ||||
-rw-r--r-- | eval.c | 26 | ||||
-rw-r--r-- | eval_intern.h | 2 | ||||
-rw-r--r-- | ext/openssl/ossl_ssl.c | 2 | ||||
-rw-r--r-- | ext/openssl/ossl_x509store.c | 1 | ||||
-rw-r--r-- | ext/readline/readline.c | 1 | ||||
-rw-r--r-- | ext/socket/depend | 2 | ||||
-rw-r--r-- | ext/socket/socket.c | 1 | ||||
-rw-r--r-- | file.c | 1 | ||||
-rw-r--r-- | gc.c | 32 | ||||
-rw-r--r-- | hash.c | 9 | ||||
-rw-r--r-- | include/ruby/signal.h | 92 | ||||
-rw-r--r-- | io.c | 16 | ||||
-rw-r--r-- | process.c | 4 | ||||
-rw-r--r-- | signal.c | 41 | ||||
-rw-r--r-- | vm_core.h | 5 |
18 files changed, 79 insertions, 219 deletions
@@ -1,3 +1,17 @@ +Wed Sep 3 16:54:46 2008 Koichi Sasada <ko1@atdot.net> + + * include/ruby/signal.h: removed. + + * common.mk, class.c, eval.c, eval_intern.h, file.c, gc.c, hash.c, + io.c, process.c, signal.c: vm_core.h: ditto. + Some unused external global variables are also removed. + (rb_prohibit_interrupt, rb_trap_immediate, rb_trap_pending, + rb_thread_critical) + + * ext/openssl/ossl_ssl.c, ext/openssl/ossl_x509store.c, + ext/readline/readline.c, ext/socket/depend, + ext/socket/socket.c: ditto. + Wed Sep 3 00:23:25 2008 Yusuke Endoh <mame@tsg.ne.jp> * vm_insnhelper.c (vm_method_missing): copy arguments to allocated @@ -10,7 +10,6 @@ **********************************************************************/ #include "ruby/ruby.h" -#include "ruby/signal.h" #include "ruby/node.h" #include "ruby/st.h" #include "vm_core.h" @@ -819,7 +818,6 @@ rb_singleton_class(VALUE obj) rb_bug("unknown immediate %ld", obj); } - DEFER_INTS; if (FL_TEST(RBASIC(obj)->klass, FL_SINGLETON) && rb_iv_get(RBASIC(obj)->klass, "__attached__") == obj) { klass = RBASIC(obj)->klass; @@ -840,7 +838,6 @@ rb_singleton_class(VALUE obj) FL_UNSET(klass, FL_UNTRUSTED); } if (OBJ_FROZEN(obj)) OBJ_FREEZE(klass); - ALLOW_INTS; return klass; } @@ -444,7 +444,7 @@ array.$(OBJEXT): {$(VPATH)}array.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ {$(VPATH)}util.h bignum.$(OBJEXT): {$(VPATH)}bignum.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h class.$(OBJEXT): {$(VPATH)}class.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}signal.h {$(VPATH)}node.h {$(VPATH)}vm_core.h \ + {$(VPATH)}node.h {$(VPATH)}vm_core.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h {$(VPATH)}id.h \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}mvm.h {$(VPATH)}parse.h \ {$(VPATH)}parse.y @@ -468,39 +468,39 @@ enum.$(OBJEXT): {$(VPATH)}enum.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ enumerator.$(OBJEXT): {$(VPATH)}enumerator.c $(RUBY_H_INCLUDES) \ {$(VPATH)}st.h {$(VPATH)}debug.h {$(VPATH)}node.h error.$(OBJEXT): {$(VPATH)}error.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}vm_core.h {$(VPATH)}signal.h {$(VPATH)}node.h \ + {$(VPATH)}vm_core.h {$(VPATH)}node.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}mvm.h {$(VPATH)}parse.y eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}eval_intern.h \ $(RUBY_H_INCLUDES) {$(VPATH)}st.h {$(VPATH)}node.h {$(VPATH)}util.h \ - {$(VPATH)}signal.h {$(VPATH)}vm_core.h {$(VPATH)}debug.h \ + {$(VPATH)}vm_core.h {$(VPATH)}debug.h \ {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) {$(VPATH)}thread_$(THREAD_MODEL).h \ {$(VPATH)}dln.h {$(VPATH)}eval_error.c {$(VPATH)}eval_safe.c \ {$(VPATH)}eval_jump.c {$(VPATH)}mvm.h {$(VPATH)}parse.y load.$(OBJEXT): {$(VPATH)}load.c {$(VPATH)}eval_intern.h \ $(RUBY_H_INCLUDES) {$(VPATH)}st.h {$(VPATH)}node.h {$(VPATH)}util.h \ - {$(VPATH)}signal.h {$(VPATH)}vm_core.h {$(VPATH)}debug.h \ + {$(VPATH)}vm_core.h {$(VPATH)}debug.h \ {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) {$(VPATH)}thread_$(THREAD_MODEL).h \ {$(VPATH)}dln.h {$(VPATH)}mvm.h {$(VPATH)}parse.y file.$(OBJEXT): {$(VPATH)}file.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ {$(VPATH)}io.h {$(VPATH)}encoding.h {$(VPATH)}oniguruma.h \ - {$(VPATH)}signal.h {$(VPATH)}util.h {$(VPATH)}dln.h + {$(VPATH)}util.h {$(VPATH)}dln.h gc.$(OBJEXT): {$(VPATH)}gc.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}signal.h {$(VPATH)}node.h {$(VPATH)}re.h {$(VPATH)}regex.h \ + {$(VPATH)}node.h {$(VPATH)}re.h {$(VPATH)}regex.h \ {$(VPATH)}oniguruma.h {$(VPATH)}io.h {$(VPATH)}encoding.h \ {$(VPATH)}vm_core.h {$(VPATH)}debug.h {$(VPATH)}vm_opts.h \ $(ID_H_INCLUDES) {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}gc.h \ {$(VPATH)}eval_intern.h {$(VPATH)}util.h {$(VPATH)}mvm.h \ {$(VPATH)}parse.y {$(VPATH)}dln.h hash.$(OBJEXT): {$(VPATH)}hash.c $(RUBY_H_INCLUDES) $(ID_H_INCLUDES) \ - {$(VPATH)}st.h {$(VPATH)}util.h {$(VPATH)}signal.h \ + {$(VPATH)}st.h {$(VPATH)}util.h \ {$(VPATH)}eval_intern.h {$(VPATH)}node.h {$(VPATH)}vm_core.h \ {$(VPATH)}mvm.h {$(VPATH)}debug.h {$(VPATH)}vm_opts.h {$(VPATH)}parse.y \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}dln.h inits.$(OBJEXT): {$(VPATH)}inits.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h io.$(OBJEXT): {$(VPATH)}io.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ {$(VPATH)}io.h {$(VPATH)}encoding.h {$(VPATH)}oniguruma.h \ - {$(VPATH)}signal.h {$(VPATH)}util.h {$(VPATH)}vm_core.h \ + {$(VPATH)}util.h {$(VPATH)}vm_core.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h {$(VPATH)}id.h \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}mvm.h {$(VPATH)}node.h \ {$(VPATH)}parse.h {$(VPATH)}parse.y @@ -523,11 +523,11 @@ parse.$(OBJEXT): {$(VPATH)}parse.c {$(VPATH)}parse.y $(RUBY_H_INCLUDES) \ prec.$(OBJEXT): {$(VPATH)}prec.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h proc.$(OBJEXT): {$(VPATH)}proc.c {$(VPATH)}eval_intern.h \ $(RUBY_H_INCLUDES) {$(VPATH)}st.h {$(VPATH)}node.h {$(VPATH)}util.h \ - {$(VPATH)}signal.h {$(VPATH)}vm_core.h {$(VPATH)}debug.h \ + {$(VPATH)}vm_core.h {$(VPATH)}debug.h \ {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) {$(VPATH)}thread_$(THREAD_MODEL).h \ {$(VPATH)}dln.h {$(VPATH)}gc.h {$(VPATH)}mvm.h {$(VPATH)}parse.y process.$(OBJEXT): {$(VPATH)}process.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}signal.h {$(VPATH)}vm_core.h {$(VPATH)}util.h {$(VPATH)}node.h \ + {$(VPATH)}vm_core.h {$(VPATH)}util.h {$(VPATH)}node.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}io.h {$(VPATH)}encoding.h \ {$(VPATH)}oniguruma.h {$(VPATH)}mvm.h {$(VPATH)}parse.y {$(VPATH)}dln.h @@ -566,12 +566,12 @@ regsyntax.$(OBJEXT): {$(VPATH)}regsyntax.c {$(VPATH)}regint.h \ {$(VPATH)}missing.h {$(VPATH)}intern.h ruby.$(OBJEXT): {$(VPATH)}ruby.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ {$(VPATH)}node.h {$(VPATH)}encoding.h {$(VPATH)}oniguruma.h \ - {$(VPATH)}eval_intern.h {$(VPATH)}util.h {$(VPATH)}signal.h \ + {$(VPATH)}eval_intern.h {$(VPATH)}util.h \ {$(VPATH)}vm_core.h {$(VPATH)}debug.h {$(VPATH)}vm_opts.h \ $(ID_H_INCLUDES) {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}dln.h \ {$(VPATH)}mvm.h {$(VPATH)}parse.y signal.$(OBJEXT): {$(VPATH)}signal.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}signal.h {$(VPATH)}node.h {$(VPATH)}vm_core.h \ + {$(VPATH)}node.h {$(VPATH)}vm_core.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}mvm.h {$(VPATH)}parse.y sprintf.$(OBJEXT): {$(VPATH)}sprintf.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ @@ -588,7 +588,7 @@ string.$(OBJEXT): {$(VPATH)}string.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ struct.$(OBJEXT): {$(VPATH)}struct.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h thread.$(OBJEXT): {$(VPATH)}thread.c {$(VPATH)}eval_intern.h \ $(RUBY_H_INCLUDES) {$(VPATH)}st.h {$(VPATH)}node.h {$(VPATH)}util.h \ - {$(VPATH)}signal.h {$(VPATH)}vm_core.h {$(VPATH)}debug.h \ + {$(VPATH)}vm_core.h {$(VPATH)}debug.h \ {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) {$(VPATH)}thread_$(THREAD_MODEL).h \ {$(VPATH)}dln.h {$(VPATH)}vm.h {$(VPATH)}gc.h \ {$(VPATH)}thread_$(THREAD_MODEL).c {$(VPATH)}mvm.h {$(VPATH)}parse.y @@ -596,7 +596,7 @@ transcode.$(OBJEXT): {$(VPATH)}transcode.c $(RUBY_H_INCLUDES) \ {$(VPATH)}st.h {$(VPATH)}encoding.h {$(VPATH)}oniguruma.h \ {$(VPATH)}transcode_data.h cont.$(OBJEXT): {$(VPATH)}cont.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}vm_core.h {$(VPATH)}signal.h {$(VPATH)}node.h \ + {$(VPATH)}vm_core.h {$(VPATH)}node.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}gc.h \ {$(VPATH)}eval_intern.h {$(VPATH)}util.h {$(VPATH)}dln.h {$(VPATH)}mvm.h \ @@ -611,13 +611,13 @@ version.$(OBJEXT): {$(VPATH)}version.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ {$(VPATH)}version.h $(srcdir)/revision.h compile.$(OBJEXT): {$(VPATH)}compile.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}node.h {$(VPATH)}vm_core.h {$(VPATH)}signal.h \ + {$(VPATH)}node.h {$(VPATH)}vm_core.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}compile.h \ {$(VPATH)}insns.inc {$(VPATH)}insns_info.inc {$(VPATH)}optinsn.inc \ {$(VPATH)}mvm.h {$(VPATH)}parse.y iseq.$(OBJEXT): {$(VPATH)}iseq.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}node.h {$(VPATH)}gc.h {$(VPATH)}vm_core.h {$(VPATH)}signal.h \ + {$(VPATH)}node.h {$(VPATH)}gc.h {$(VPATH)}vm_core.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}insns.inc \ {$(VPATH)}insns_info.inc {$(VPATH)}node_name.inc {$(VPATH)}mvm.h \ @@ -625,7 +625,7 @@ iseq.$(OBJEXT): {$(VPATH)}iseq.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ vm.$(OBJEXT): {$(VPATH)}vm.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ {$(VPATH)}node.h {$(VPATH)}encoding.h {$(VPATH)}oniguruma.h \ {$(VPATH)}gc.h {$(VPATH)}insnhelper.h {$(VPATH)}eval_intern.h \ - {$(VPATH)}util.h {$(VPATH)}signal.h {$(VPATH)}vm_core.h \ + {$(VPATH)}util.h {$(VPATH)}vm_core.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}dln.h {$(VPATH)}vm.h \ {$(VPATH)}vm_insnhelper.c {$(VPATH)}insns.inc {$(VPATH)}vm_evalbody.c \ @@ -633,32 +633,32 @@ vm.$(OBJEXT): {$(VPATH)}vm.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ {$(VPATH)}vm_method.c {$(VPATH)}vm_eval.c {$(VPATH)}mvm.h \ {$(VPATH)}parse.y vm_dump.$(OBJEXT): {$(VPATH)}vm_dump.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}node.h {$(VPATH)}vm_core.h {$(VPATH)}signal.h \ + {$(VPATH)}node.h {$(VPATH)}vm_core.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}vm.h {$(VPATH)}mvm.h \ {$(VPATH)}parse.y debug.$(OBJEXT): {$(VPATH)}debug.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ {$(VPATH)}encoding.h {$(VPATH)}oniguruma.h {$(VPATH)}debug.h \ - {$(VPATH)}node.h {$(VPATH)}vm_core.h {$(VPATH)}signal.h \ + {$(VPATH)}node.h {$(VPATH)}vm_core.h \ {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) {$(VPATH)}thread_$(THREAD_MODEL).h \ {$(VPATH)}util.h {$(VPATH)}eval_intern.h {$(VPATH)}mvm.h \ {$(VPATH)}parse.y {$(VPATH)}dln.h blockinlining.$(OBJEXT): {$(VPATH)}blockinlining.c $(RUBY_H_INCLUDES) \ - {$(VPATH)}st.h {$(VPATH)}node.h {$(VPATH)}vm_core.h {$(VPATH)}signal.h \ + {$(VPATH)}st.h {$(VPATH)}node.h {$(VPATH)}vm_core.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}mvm.h {$(VPATH)}parse.y id.$(OBJEXT): {$(VPATH)}id.c $(RUBY_H_INCLUDES) \ {$(VPATH)}st.h $(ID_H_INCLUDES) miniprelude.$(OBJEXT): {$(VPATH)}miniprelude.c $(RUBY_H_INCLUDES) \ - {$(VPATH)}st.h {$(VPATH)}vm_core.h {$(VPATH)}signal.h {$(VPATH)}node.h \ + {$(VPATH)}st.h {$(VPATH)}vm_core.h {$(VPATH)}node.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}mvm.h {$(VPATH)}parse.y prelude.$(OBJEXT): {$(VPATH)}prelude.c $(RUBY_H_INCLUDES) {$(VPATH)}st.h \ - {$(VPATH)}vm_core.h {$(VPATH)}signal.h {$(VPATH)}node.h \ + {$(VPATH)}vm_core.h {$(VPATH)}node.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}mvm.h {$(VPATH)}parse.y golf_prelude.$(OBJEXT): {$(VPATH)}golf_prelude.c $(RUBY_H_INCLUDES) \ - {$(VPATH)}st.h {$(VPATH)}vm_core.h {$(VPATH)}signal.h {$(VPATH)}node.h \ + {$(VPATH)}st.h {$(VPATH)}vm_core.h {$(VPATH)}node.h \ {$(VPATH)}debug.h {$(VPATH)}vm_opts.h $(ID_H_INCLUDES) \ {$(VPATH)}thread_$(THREAD_MODEL).h {$(VPATH)}mvm.h {$(VPATH)}parse.y goruby.$(OBJEXT): {$(VPATH)}goruby.c {$(VPATH)}main.c $(RUBY_H_INCLUDES) \ @@ -75,7 +75,6 @@ ruby_init(void) #endif ruby_prog_init(); - ALLOW_INTS; } POP_TAG(); @@ -731,31 +730,6 @@ rb_ensure(VALUE (*b_proc)(ANYARGS), VALUE data1, VALUE (*e_proc)(ANYARGS), VALUE return result; } -VALUE -rb_with_disable_interrupt(VALUE (*proc)(ANYARGS), VALUE data) -{ - VALUE result = Qnil; /* OK */ - int status; - - DEFER_INTS; - { - int thr_critical = rb_thread_critical; - - rb_thread_critical = Qtrue; - PUSH_TAG(); - if ((status = EXEC_TAG()) == 0) { - result = (*proc) (data); - } - POP_TAG(); - rb_thread_critical = thr_critical; - } - ENABLE_INTS; - if (status) - JUMP_TAG(status); - - return result; -} - static ID frame_func_id(rb_control_frame_t *cfp) { diff --git a/eval_intern.h b/eval_intern.h index 201604a5b9..5878e4a2e1 100644 --- a/eval_intern.h +++ b/eval_intern.h @@ -15,7 +15,6 @@ #include "ruby/ruby.h" #include "ruby/node.h" #include "ruby/util.h" -#include "ruby/signal.h" #include "vm_core.h" #ifdef HAVE_STDLIB_H @@ -231,5 +230,6 @@ VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_blo void rb_thread_terminate_all(void); VALUE rb_vm_top_self(); VALUE rb_vm_cbase(void); +void rb_trap_restore_mask(void); #endif /* RUBY_EVAL_INTERN_H */ diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c index 83fd2566d5..64987a41b5 100644 --- a/ext/openssl/ossl_ssl.c +++ b/ext/openssl/ossl_ssl.c @@ -11,8 +11,6 @@ * (See the file 'LICENCE'.) */ #include "ossl.h" -#include <rubysig.h> -#include <rubyio.h> #if defined(HAVE_UNISTD_H) # include <unistd.h> /* for read(), and write() */ diff --git a/ext/openssl/ossl_x509store.c b/ext/openssl/ossl_x509store.c index 769ce8a91a..68fb372eaa 100644 --- a/ext/openssl/ossl_x509store.c +++ b/ext/openssl/ossl_x509store.c @@ -9,7 +9,6 @@ * (See the file 'LICENCE'.) */ #include "ossl.h" -#include <rubysig.h> #define WrapX509Store(klass, obj, st) do { \ if (!st) { \ diff --git a/ext/readline/readline.c b/ext/readline/readline.c index 41914dca01..1bfec15eac 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -35,7 +35,6 @@ #include "ruby/ruby.h" #include "ruby/io.h" -#include "ruby/signal.h" #ifdef HAVE_UNISTD_H #include <unistd.h> diff --git a/ext/socket/depend b/ext/socket/depend index 7577a6929a..29bc2f3be3 100644 --- a/ext/socket/depend +++ b/ext/socket/depend @@ -1,5 +1,5 @@ socket.o: socket.c $(hdrdir)/ruby/ruby.h $(arch_hdrdir)/ruby/config.h \ - $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/io.h $(hdrdir)/ruby/signal.h \ + $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/io.h \ sockport.h constants.h getnameinfo.o: getnameinfo.c $(arch_hdrdir)/ruby/config.h addrinfo.h sockport.h getaddrinfo.o: getaddrinfo.c $(arch_hdrdir)/ruby/config.h addrinfo.h sockport.h diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 2dcc168075..c753f19de3 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -11,7 +11,6 @@ #include "ruby/ruby.h" #include "ruby/io.h" -#include "ruby/signal.h" #include "ruby/util.h" #include <stdio.h> #include <sys/types.h> @@ -21,7 +21,6 @@ #include "ruby/ruby.h" #include "ruby/io.h" -#include "ruby/signal.h" #include "ruby/util.h" #include "dln.h" @@ -12,7 +12,6 @@ **********************************************************************/ #include "ruby/ruby.h" -#include "ruby/signal.h" #include "ruby/st.h" #include "ruby/node.h" #include "ruby/re.h" @@ -553,10 +552,10 @@ vm_xmalloc(rb_objspace_t *objspace, size_t size) (malloc_increase+size) > malloc_limit) { garbage_collect(objspace); } - RUBY_CRITICAL(mem = malloc(size)); + mem = malloc(size); if (!mem) { if (garbage_collect(objspace)) { - RUBY_CRITICAL(mem = malloc(size)); + mem = malloc(size); } if (!mem) { rb_memerror(); @@ -592,10 +591,10 @@ vm_xrealloc(rb_objspace_t *objspace, void *ptr, size_t size) ptr = (size_t *)ptr - 1; #endif - RUBY_CRITICAL(mem = realloc(ptr, size)); + mem = realloc(ptr, size); if (!mem) { if (garbage_collect(objspace)) { - RUBY_CRITICAL(mem = realloc(ptr, size)); + mem = realloc(ptr, size); } if (!mem) { rb_memerror(); @@ -623,7 +622,7 @@ vm_xfree(rb_objspace_t *objspace, void *ptr) objspace->malloc_params.allocations--; #endif - RUBY_CRITICAL(free(ptr)); + free(ptr); } void * @@ -772,15 +771,15 @@ allocate_heaps(rb_objspace_t *objspace, size_t next_heaps_length) size_t size; size = next_heaps_length*sizeof(struct heaps_slot); - RUBY_CRITICAL( - if (heaps_used > 0) { - p = (struct heaps_slot *)realloc(heaps, size); - if (p) heaps = p; - } - else { - p = heaps = (struct heaps_slot *)malloc(size); - } - ); + + if (heaps_used > 0) { + p = (struct heaps_slot *)realloc(heaps, size); + if (p) heaps = p; + } + else { + p = heaps = (struct heaps_slot *)malloc(size); + } + if (p == 0) { during_gc = 0; rb_memerror(); @@ -796,7 +795,8 @@ assign_heap_slot(rb_objspace_t *objspace) int objs; objs = HEAP_OBJ_LIMIT; - RUBY_CRITICAL(p = (RVALUE*)malloc(HEAP_SIZE)); + p = (RVALUE*)malloc(HEAP_SIZE); + if (p == 0) { during_gc = 0; rb_memerror(); @@ -15,7 +15,6 @@ #include "ruby/ruby.h" #include "ruby/st.h" #include "ruby/util.h" -#include "ruby/signal.h" #ifdef __APPLE__ #include <crt_externs.h> @@ -37,12 +36,6 @@ VALUE rb_cHash; static VALUE envtbl; static ID id_hash, id_yield, id_default; -static VALUE -eql(VALUE *args) -{ - return (VALUE)rb_eql(args[0], args[1]); -} - static int rb_any_cmp(VALUE a, VALUE b) { @@ -63,7 +56,7 @@ rb_any_cmp(VALUE a, VALUE b) args[0] = a; args[1] = b; - return !rb_with_disable_interrupt(eql, (VALUE)args); + return !rb_eql(a, b); } VALUE diff --git a/include/ruby/signal.h b/include/ruby/signal.h deleted file mode 100644 index 62a6c5d13c..0000000000 --- a/include/ruby/signal.h +++ /dev/null @@ -1,92 +0,0 @@ -/********************************************************************** - - rubysig.h - - - $Author$ - created at: Wed Aug 16 01:15:38 JST 1995 - - Copyright (C) 1993-2007 Yukihiro Matsumoto - -**********************************************************************/ - -#ifndef RUBYSIG_H -#define RUBYSIG_H 1 - -#if defined(__cplusplus) -extern "C" { -#if 0 -} /* satisfy cc-mode */ -#endif -#endif - -#include <errno.h> - -#ifdef _WIN32 -typedef LONG rb_atomic_t; - -# define ATOMIC_TEST(var) InterlockedExchange(&(var), 0) -# define ATOMIC_SET(var, val) InterlockedExchange(&(var), (val)) -# define ATOMIC_INC(var) InterlockedIncrement(&(var)) -# define ATOMIC_DEC(var) InterlockedDecrement(&(var)) - -/* Windows doesn't allow interrupt while system calls */ -# define TRAP_BEG do {\ - rb_atomic_t trap_immediate = ATOMIC_SET(rb_trap_immediate, 1) - -# define TRAP_END\ - ATOMIC_SET(rb_trap_immediate, trap_immediate);\ -} while (0) - -# define RUBY_CRITICAL(statements) do {\ - rb_atomic_t trap_immediate = ATOMIC_SET(rb_trap_immediate, 0);\ - statements;\ - ATOMIC_SET(rb_trap_immediate, trap_immediate);\ -} while (0) -#else -typedef int rb_atomic_t; - -# define ATOMIC_TEST(var) ((var) ? ((var) = 0, 1) : 0) -# define ATOMIC_SET(var, val) ((var) = (val)) -# define ATOMIC_INC(var) (++(var)) -# define ATOMIC_DEC(var) (--(var)) - -# define TRAP_BEG do {\ - int trap_immediate = rb_trap_immediate;\ - rb_trap_immediate = 1 - -# define TRAP_END \ - rb_trap_immediate = trap_immediate;\ -} while (0) - -# define RUBY_CRITICAL(statements) do {\ - int trap_immediate = rb_trap_immediate;\ - rb_trap_immediate = 0;\ - statements;\ - rb_trap_immediate = trap_immediate;\ -} while (0) -#endif -RUBY_EXTERN rb_atomic_t rb_trap_immediate; - -RUBY_EXTERN int rb_prohibit_interrupt; -#define DEFER_INTS (rb_prohibit_interrupt++) -#define ALLOW_INTS do {\ - rb_prohibit_interrupt--;\ -} while (0) -#define ENABLE_INTS (rb_prohibit_interrupt--) - -VALUE rb_with_disable_interrupt(VALUE(*)(ANYARGS),VALUE); - -RUBY_EXTERN rb_atomic_t rb_trap_pending; -void rb_trap_restore_mask(void); - -RUBY_EXTERN int rb_thread_critical; -void rb_thread_schedule(void); - -#if defined(__cplusplus) -#if 0 -{ /* satisfy cc-mode */ -#endif -} /* extern "C" { */ -#endif - -#endif /* RUBYSIG_H */ @@ -13,7 +13,6 @@ #include "ruby/ruby.h" #include "ruby/io.h" -#include "ruby/signal.h" #include "vm_core.h" #include <ctype.h> #include <errno.h> @@ -557,7 +556,6 @@ io_fflush(rb_io_t *fptr) wbuf_len = fptr->wbuf_len; l = wbuf_len; if (PIPE_BUF < l && - !rb_thread_critical && !rb_thread_alone() && wsplit_p(fptr)) { l = PIPE_BUF; @@ -795,7 +793,6 @@ io_fwrite(VALUE str, rb_io_t *fptr) retry: l = n; if (PIPE_BUF < l && - !rb_thread_critical && !rb_thread_alone() && wsplit_p(fptr)) { l = PIPE_BUF; @@ -2653,9 +2650,7 @@ rb_getc(FILE *f) int c; rb_read_check(f); - TRAP_BEG; c = getc(f); - TRAP_END; return c; } @@ -3412,9 +3407,8 @@ rb_io_syswrite(VALUE io, VALUE str) if (!rb_thread_fd_writable(fptr->fd)) { rb_io_check_closed(fptr); } - TRAP_BEG; + n = write(fptr->fd, RSTRING_PTR(str), RSTRING_LEN(str)); - TRAP_END; if (n == -1) rb_sys_fail_path(fptr->pathv); @@ -6329,20 +6323,16 @@ io_cntl(int fd, int cmd, long narg, int io_p) int retval; #ifdef HAVE_FCNTL - TRAP_BEG; # if defined(__CYGWIN__) retval = io_p?ioctl(fd, cmd, (void*)narg):fcntl(fd, cmd, narg); # else retval = io_p?ioctl(fd, cmd, narg):fcntl(fd, cmd, narg); # endif - TRAP_END; #else if (!io_p) { rb_notimplement(); } - TRAP_BEG; retval = ioctl(fd, cmd, narg); - TRAP_END; #endif return retval; } @@ -6529,7 +6519,7 @@ rb_f_syscall(int argc, VALUE *argv) argv++; i++; } - TRAP_BEG; + switch (argc) { case 1: retval = syscall(arg[0]); @@ -6583,7 +6573,7 @@ rb_f_syscall(int argc, VALUE *argv) break; #endif /* atarist */ } - TRAP_END; + if (retval < 0) rb_sys_fail(0); return INT2NUM(retval); #else @@ -12,7 +12,6 @@ **********************************************************************/ #include "ruby/ruby.h" -#include "ruby/signal.h" #include "ruby/io.h" #include "ruby/util.h" #include "vm_core.h" @@ -610,7 +609,6 @@ rb_waitpid_blocking(void *data) struct waitpid_arg *arg = data; #endif - TRAP_BEG; #if defined NO_WAITPID result = wait(data); #elif defined HAVE_WAITPID @@ -618,7 +616,7 @@ rb_waitpid_blocking(void *data) #else /* HAVE_WAIT4 */ result = wait4(arg->pid, arg->st, arg->flags, NULL); #endif - TRAP_END; + return (VALUE)result; } @@ -12,12 +12,28 @@ **********************************************************************/ #include "ruby/ruby.h" -#include "ruby/signal.h" #include "ruby/node.h" #include "vm_core.h" #include <signal.h> #include <stdio.h> +#ifdef _WIN32 +typedef LONG rb_atomic_t; + +# define ATOMIC_TEST(var) InterlockedExchange(&(var), 0) +# define ATOMIC_SET(var, val) InterlockedExchange(&(var), (val)) +# define ATOMIC_INC(var) InterlockedIncrement(&(var)) +# define ATOMIC_DEC(var) InterlockedDecrement(&(var)) + +#else +typedef int rb_atomic_t; + +# define ATOMIC_TEST(var) ((var) ? ((var) = 0, 1) : 0) +# define ATOMIC_SET(var, val) ((var) = (val)) +# define ATOMIC_INC(var) (++(var)) +# define ATOMIC_DEC(var) (--(var)) +#endif + #ifdef __BEOS__ #undef SIGBUS #endif @@ -393,13 +409,6 @@ static struct { VALUE cmd; int safe; } trap_list[NSIG]; -static rb_atomic_t trap_pending_list[NSIG]; -#if 0 -static char rb_trap_accept_nativethreads[NSIG]; -#endif -rb_atomic_t rb_trap_pending; -rb_atomic_t rb_trap_immediate; -int rb_prohibit_interrupt = 1; VALUE rb_get_trap_cmd(int sig) @@ -641,22 +650,6 @@ rb_signal_exec(rb_thread_t *th, int sig) } } -void -rb_trap_exec(void) -{ -#ifndef MACOS_UNUSE_SIGNAL - int i; - - for (i=0; i<NSIG; i++) { - if (trap_pending_list[i]) { - trap_pending_list[i] = 0; - rb_signal_exec(GET_THREAD(), i); - } - } -#endif /* MACOS_UNUSE_SIGNAL */ - rb_trap_pending = 0; -} - struct trap_arg { #if USE_TRAP_MASK # ifdef HAVE_SIGPROCMASK @@ -18,7 +18,6 @@ #include "ruby/ruby.h" #include "ruby/mvm.h" -#include "ruby/signal.h" #include "ruby/st.h" #include "ruby/node.h" @@ -324,8 +323,8 @@ struct rb_vm_struct struct st_table *loading_table; /* signal */ - rb_atomic_t signal_buff[RUBY_NSIG]; - rb_atomic_t buffered_signal_size; + int signal_buff[RUBY_NSIG]; + int buffered_signal_size; /* hook */ rb_event_hook_t *event_hooks; |