Граф коммитов

159 Коммитов

Автор SHA1 Сообщение Дата
nobu a5eb40b999 * signal.c (ruby_signal): fix condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:30:35 +00:00
nobu 7b410abfb8 * configure.in (rb_cv_gcc_atomic_builtins): check for atomic
builtins, all are not available in Apple derivative gcc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-26 00:13:37 +00:00
nobu 3ea90fc38e * signal.c: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-25 23:46:27 +00:00
shyouhei 2c770d676c * signal.c (rb_atomic_t): GCC (of at least recent versions)
has  ubiquitos  support  for  atomic  operations.   On  that
  compiler a C  program can isse a memory  barrier using these
  dedicated  instructions.  According to  the GCC  manual they
  cargo culted  this feature form  the Itanium ABI  so chances
  are that  other compilers  could also support  this feature.
  But so far GCC is the  only compiler that I know to have it.
  Also note that this works on non-Itanium machines.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-25 07:46:53 +00:00
nobu 8022385ba4 * debug.c (ruby_set_debug_option): define always for binary
compatibility with debug env enabled binary.

* signal.c (ruby_enable_coredump): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-13 02:04:10 +00:00
marcandre 7729de4d91 * array.c: Documentation: change => in call-seq to ->.
Harmonize "#=>" in examples. [ruby-core:30206]

* bignum.c: ditto

* class.c: ditto

* compar.c: ditto

* cont.c: ditto

* dir.c: ditto

* encoding.c: ditto

* enum.c: ditto

* enumerator.c: ditto

* error.c: ditto

* eval.c: ditto

* file.c: ditto

* gc.c: ditto

* io.c: ditto

* load.c: ditto

* marshal.c: ditto

* math.c: ditto

* numeric.c: ditto

* object.c: ditto

* pack.c: ditto

* proc.c: ditto

* process.c: ditto

* random.c: ditto

* range.c: ditto

* re.c: ditto

* ruby.c: ditto

* signal.c: ditto

* sprintf.c: ditto

* string.c: ditto

* struct.c: ditto

* thread.c: ditto

* time.c: ditto

* transcode.c: ditto

* variable.c: ditto

* vm_eval.c: ditto

* vm_method.c: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:33 +00:00
mame 50587316b8 * vm_core.c (rb_thread_struct): add a field for sigaltstack.
* thread_pthread.c (thread_start_func_1): initialize machine stack
  information.

* thread.c (thread_start_func_2): set sigaltstack for each sub thread.
  [ruby-core:24540] [ruby-core:30207]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 16:20:26 +00:00
marcandre 4d3f877180 * signal.c (ruby_signal_name): rdoc fix for undocumented parameter
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 04:35:16 +00:00
marcandre 478c3e080b * eval.c (make_exception, rb_obj_extend): Fix error messages in case of wrong
number of arguments

* file.c (rb_f_test, rb_file_s_umask): ditto

* numeric.c (int_chr, num_step): ditto

* process.c (rb_f_sleep): ditto

* re.c (rb_reg_initialize_m): ditto

* signal.c (rb_f_kill, sig_trap): ditto

* string.c (rb_str_aref_m, rb_str_aset_m, rb_str_count, rb_str_delete_bang,
  rb_str_slice_bang, rb_str_sub_bang, str_gsub): ditto

* proc.c (curry): rdoc fix

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 02:40:57 +00:00
mame 8687db60a6 * process.c (rb_f_fork): remove after_exec() which sometimes caused
two timer threads started.  [ruby-core:25217]

* signal.c: use pthread_sigmask() instead of sigprocmask().
  sigprocmask() is unspecified behavior on multi-thread programs.
  [ruby-core:25217]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-23 15:44:19 +00:00
naruse c0eb5bb6f2 * signal.c (USE_SIGALTSTACK): NetBSD can't use sigaltstack(2)
with pthread.
  http://netbsd.gw.com/cgi-bin/man-cgi?sigaltstack++NetBSD-current

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-15 08:49:51 +00:00
nobu 423657b42c * signal.c (USE_SIGALTSTACK): only when SA_SIGINFO also is
available.  see [ruby-core:27768].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-25 03:11:46 +00:00
naruse d5b0c4b1f3 * dln.c, file.c, io.c, signal.c: add __HAIKU__.
patched by Alexander von Gluck [ruby-core:27767]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-25 03:06:06 +00:00
akr ff9d908832 * include/ruby/ruby.h (rb_bug_errno): declared.
* include/ruby/intern.h (rb_strerrno): declaration removed.

* error.c (rb_strerrno): make it static.  return NULL for unknown
  errors.
  (rb_bug_errno): defined.

* thread_pthread.c: use rb_bug_errno.

* signal.c (ruby_signal): use rb_bug_errno.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-24 11:03:51 +00:00
akr b9e0294eda fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-03 17:46:28 +00:00
nobu 04d1998ff8 * signal.c (interrupt_init): nodoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-13 10:34:35 +00:00
nobu 6b60792135 * signal.c (rb_f_kill): added rdoc about exceptions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-13 09:51:04 +00:00
ko1 79b62da9b4 * thread.c: rename functions which require a parameter
"rb_thread_t *", the prefix to be rb_threadptr_ instead of
  rb_thread_.
* thread.c (rb_thread_add_event_hook(), rb_thread_remove_event_hook):
  change the parameter type from rb_thread_t * to VALUE.
* eval.c, eval_error.c, eval_intern.h, signal.c, vm_core.h, vm_eval.c:
  ditto.
* include/ruby/intern.h: remove decl of rb_thread_signal_raise() and
  rb_thread_signal_exit().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-08 16:14:06 +00:00
nobu cb434b4a80 * signal.c (sig_trap): suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-10 19:22:11 +00:00
nobu 6bdeed2b47 * signal.c (rb_disable_interrupt, rb_enable_interrupt): see
USE_TRAP_MASK.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 02:21:53 +00:00
nobu 12d2c8ba41 stripped trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 14:23:33 +00:00
akr 4e2141622f * signal.c (register_sigaltstack): ignore sigaltstack error.
It fails on OpenBSD 4.4 when pthread library is linked.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-06 11:40:33 +00:00
nobu 845103b751 * cont.c (rb_fiber_current), dln.c (dln_print_undef, dln_undefined),
eval.c (rb_iterator_p, rb_need_block), load.c: (Init_load), ruby.c
  (uscore_get, rb_f_chop), st.c (stat_col), signal.c
  (rb_signal_buff_size, ruby_sig_finalize), thread.c
  (rb_thread_sleep_forever, rb_thread_sleep_deadly, rb_thread_alone):
  protoized.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-01 12:51:44 +00:00
nobu 9e22c8390c * signal.c (trap_handler): also accepts symbols. [ruby-dev:37823]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-23 04:25:29 +00:00
matz c6af6b1b94 * symbian/README.SYMBIAN: symbian support added. great appreciate
to <alexandre.zavorine at symbian.com>.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 01:53:08 +00:00
naruse d4b3e8ae70 * signal.c (rb_signal_buff_size): defined for check whether signal
is in the buffer or not.

* thread_pthread.c (thread_timer): don't exit the loop when signal
  is in the buffer. [ruby-dev:37637]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 21:50:01 +00:00
matz 782576a519 * ext/curses/curses.c (window_getch): avoid ISPRINT() macro which
has an issue with OpenSolaris.  [ruby-core:20189]

* signal.c (ruby_signal): EINVAL from sigaction(2) is not a bug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 04:57:58 +00:00
usa 13a79948fe * signal.c (register_sigaltstack): no need to define on non-sigaltstack
platform.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-01 06:49:34 +00:00
nobu ab9fd5dbf7 * signal.c (register_sigaltstack): stores alt stack for debug
purpose.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-27 07:32:56 +00:00
nobu 550f10ca5b * signal.c (ruby_sigaction_t): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-27 07:12:35 +00:00
nobu 079505c040 * signal.c (ALT_STACK_SIZE): default minimum size is insufficient
for method calls.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-27 06:59:19 +00:00
nobu 7348aa6113 * gc.c (ruby_stack_check): no check if using sigaltstack.
* signal.c (register_sigaltstack): minimum size is insufficient for
  method calls.

* signal.c (sigsegv): handles stack overflow if possible.

* thread.c (ruby_thread_stack_overflow): helper function to raise
  sysstack_error.

* thread_pthread.c (ruby_stack_overflowed_p): checks for stack
  overflow.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-27 06:05:07 +00:00
matz 3380a05bd6 * signal.c (register_sigaltstack): should not add external
variable (with some cosmetic changes).  [ruby-dev:37158]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 14:25:45 +00:00
yugui 0abd67ea19 * signal.c (default_handler, Init_signal): compile error if
USE_SIGALTSTACK is not defined.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-23 07:07:34 +00:00
yugui 7c9a77f880 * signal.c (ALT_STACK_SIZE): 4KB is not enough on Mac OS X.
Uses SIGSTKSZ.  this fixes [ruby-core:20040].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-23 04:17:52 +00:00
matz 68a75f19e9 * signal.c (register_sigaltstack): use alternative stack for
SIGSEGV to avoid uncaught stack overflow. based on a patch from
  Hiro Yoshioka <hyoshiok at miraclelinux.com> in [ruby-dev:37134].
  [ruby-dev:36993]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-21 18:27:33 +00:00
nobu 5c3fe0e339 * signal.c (signal_buff): made static. a patch by Tadashi Saito
<shiba AT mail2.accsnet.ne.jp> at [ruby-dev:36915]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 18:58:52 +00:00
yugui 642e081879 * dln.c: Ruby no longer supports MacOS 9 or before.
* eval.c: ditto.

* eval_intern.h: ditto.

* ext/extmk.rb: ditto.

* ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.

* ext/tk/stubs.c: ditto.

* file.c: ditto.

* hash.c: ditto.

* include/ruby/defines.h: ditto.

* ruby.c: ditto.

* signal.c: ditto.

* vm_core.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:42:00 +00:00
yugui 8dd118c0db * djgpp/GNUmakefile.in: removed. Ruby no longer supports djgpp.
* djgpp/README.djgpp: ditto.

* djgpp/config.hin: ditto.

* djgpp/config.sed: ditto.

* djgpp/configure.bat: ditto.

* djgpp/mkver.sed: ditto.

* ext/Setup.dj: ditto.

* dln.c: removed djgpp supports.

* file.c: ditto.

* gc.c: ditto.

* io.c: ditto.

* process.c: ditto.

* ruby.c: ditto.

* signal.c: ditto.

* util.c: ditto.

* vm_core.h: ditto.

* lib/fileutils.rb: ditto.

* lib/mkmf.rb: ditto.

* ext/socket/socket.c: ditto.

* test/fileutils/test_fileutils.rb: ditto.

* test/ruby/test_env.rb: ditto.

* test/ruby/test_path.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:25:12 +00:00
ko1 2e311f6bd5 * include/ruby/node.h, node.h: move node.h from include path.
This change stop to install node.h beacuase of saving ABI
  (node.h will be changed. Extensions should not depends on
  this file).
* blockinlining.c, class.c, compile.c, debug.h, enum.c,
  gc.c, iseq.c, parse.y, ruby.c, signal.c, variable.c,
  vm.c, vm_core.h, vm_dump.c: ditto.
* ext/ripper/depend: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 19:52:31 +00:00
ko1 29f5911cf5 * signal.c (signal_exec): execute rb_eval_cmd() directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 19:09:11 +00:00
ko1 445e26fb00 * signal.c (signal_exec): fix to use rb_proc_call().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 11:37:23 +00:00
nobu c5bf9ceef6 * vm_core.h (struct rb_vm_struct): replaced signal staff with trap
staff.

* signal.c (signal_buff): per process resouce now.

* signal.c (trap_list): moved to VM.

* signal.c (rb_get_next_signal): reverted.

* signal.c (rb_trap_exit): trap_pending_list was no longer used.

* thread.c (timer_thread_function): delivers buffered per-process
  signals to each VMs.

* vm.c (rb_vm_mark): marks trap_list.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 04:22:04 +00:00
ko1 204929af9d * 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.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 08:00:05 +00:00
nobu 1b2af065a2 * signal.c (signal_exec, trap_handler): trap accepts a string as
command.  [ruby-dev:35533]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-16 09:04:37 +00:00
nobu 4641b80166 * gc.c (ruby_gc_stress): moved to rb_objspace_t.
* gc.c (gc_stress_get, gc_stress_set): VM local attribute.

* signal.c (sigsegv): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-13 15:09:22 +00:00
akr aaa90dddfb update Signal.list rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-10 23:23:36 +00:00
mame bd9030438e * signal.c (esignal_signo): fix SignalException#signo which returned
nil absolutely.

* signal.c (esignal_init): always prepend "SIG" to a string that is
  returned by SignalException#signm.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-30 13:32:39 +00:00
mame 9df121034a * signal.c (esignal_init): handle a non-integer argument correctly,
allowing SignalException.new(:INT).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-29 17:08:48 +00:00
nobu 87e4ad0a23 * io.c, signal.c, thread.c, thread_win32.c, include/ruby/intern.h:
suppress warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 09:36:35 +00:00