nobu
4c4aef3bbe
* thread.c (rb_thread_execute_interrupts): needs
...
rb_signal_buff_size to be declared.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-19 05:32:05 +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
nobu
541915b239
* compile.c (iseq_compile_each), gc.c (assign_heap_slot),
...
(gc_mark_children), parse.y (vtable_alloc, vtable_free, vtable_add),
proc.c (proc_to_s), thread.c (terminate_i, rb_thread_terminate_all),
(thread_start_func_2, blocking_region_begin, blocking_region_end),
(rb_thread_kill), thread_pthread.c (native_thread_create),
(ubf_pthread_cond_signal), vm.c (check_env, thread_free), vm_dump.c
(vm_env_dump_raw, vm_stack_dump_each, vm_thread_dump_state),
(vm_call0): use void pointer for %p.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-09 04:33:55 +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
nobu
641f43de97
* thread_pthread.c (thread_timer): checks working flags again.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-08 15:31:05 +00:00
nobu
b15e0697fd
* thread_pthread.c (rb_thread_create_timer_thread): do not wait never
...
coming signal if failed to create tiemr thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-07 16:48:22 +00:00
nobu
006be2d790
* thread_pthread.c (native_cond_timedwait): returns error code.
...
* thread_pthread.c (thread_timer): typo fixed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-07 16:42:31 +00:00
nobu
8da157ae51
* thread_pthread.c (thread_timer, rb_thread_create_timer_thread):
...
handshakes properly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-07 16:14:48 +00:00
nobu
b81ccf3167
* thread_pthread.c (thread_timer): fixed typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-07 13:47:11 +00:00
nobu
3899005d2e
* thread_pthread.c (thread_timer): initializes mutex each time.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-07 13:42:36 +00:00
nobu
2657faae01
* thread.c (thread_timer): pthread_cond_timedwait returns ETIMEDOUT
...
when timed out.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 22:43:30 +00:00
nobu
90c6c35f2e
* thread_pthread.c (thread_timer): uses pthread_cond_timedwait always
...
instead of pthread_kill.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 22:12:20 +00:00
nobu
4f3abb93f6
* thread.c (thread_timer): uses timedwait on cygwin.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 19:02:35 +00:00
nobu
5732566f4d
* thread.c (rb_thread_stop_timer_thread): terminates timer thread
...
immediately.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 13:21:26 +00:00
ko1
16612b360b
* thread.c, vm_core.h: add manual priority support
...
using time slice. if you enable USE_NATIVE_THREAD_PRIORITY
macro, this mechanism is ignored. [ruby-dev:33124]
* thread_pthread.c, thread_win32.c: ditto.
* test/ruby/test_thread.rb: fix test parameter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-13 07:53:35 +00:00
nobu
1c22ef1705
* configure.in (shutdown, sched_yield, pthread_attr_setinheritsched):
...
check for Haiku.
* eval_intern.h, io.c, thread_pthread.c: use autoconfisticated results.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-08 08:03:19 +00:00
naruse
48e21d2051
* eval_intern.h: Add support to Haiku. see [ruby-core:18110]
...
* include/ruby/defines.h: ditto.
* configure.in: ditto.
* thread_pthread.c: ditto.
* io.c: ditto.
* lib/mkmf.rb: ditto.
* ext/socket/getaddrinfo.c: ditto.
* ext/socket/extconf.rb: ditto.
* ext/socket/socket.c: ditto.
* ext/socket/addrinfo.h: ditto.
* ext/socket/getnameinfo.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-06 20:52:44 +00:00
nobu
47e3f4e1ae
* thread.c (thread_start_func_2): wake up joining threads.
...
* thread.c (sleep_forever, sleep_timeval): return when interrupted.
[ruby-dev:35542]
* thread.c (timer_thread_function): restore main thread status.
[ruby-core:17270]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-16 19:19:36 +00:00
nobu
a14682906f
* thread.c (sleep_forever): wait until timed out. [ruby-core:17270]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-09 13:41:19 +00:00
nobu
7df7982b47
* thread_{pthread,win32}.c (native_sleep): wait until timed out.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-09 11:35:06 +00:00
nobu
a534e39a87
* thread_{pthread,win32}.c (rb_thread_create_timer_thread): needs more
...
stack for debug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-09 09:17:09 +00:00
nobu
fc5746681e
* thread_pthread.c (ruby_init_stack): prior STACK_END_ADDRESS if
...
found. [ruby-core:17624]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-06 15:59:40 +00:00
nobu
6bbbf9889d
* thread.c (thread_initialize): NUM2INT() returns int.
...
* thread.c (timer_thread_function), thread_pthread.c (thread_timer),
thread_win32.c (timer_thread_func), thread_{pthread,win32}.c
(rb_thread_create_timer_thread): passing VM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-05 13:22:29 +00:00
nobu
42eabfcca2
* thread_pthread.c (native_thread_init_stack): suppress warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-17 12:58:31 +00:00
nobu
fc3c60f608
* gc.h (STACK_UPPER): moved from gc.c
...
* thread.c, thread_{pthread,win32}.c (ruby_init_stack,
ruby_thread_init_stack): moved stack initialization from gc.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-14 02:59:19 +00:00
mame
6f5aaff73b
* thread.c, vm_core.h, vm.c, thread_pthread.c, thread_win32.c: add
...
deadlock detection. [ruby-dev:35044]
* bootstraptest/test_thread.rb: add tests for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-12 13:01:38 +00:00
ko1
72ba13aa8e
* array.c, bignum.c, cont.c, dir.c, dln.c, encoding.c, enumerator.c,
...
enumerator.c (enumerator_allocate), eval_jump.c, file.c, hash.c,
io.c, load.c, pack.c, proc.c, random.c, re.c, ruby.c, st.c,
string.c, thread.c, thread_pthread.c, time.c, util.c, variable.c,
vm.c, gc.c:
allocated memory objects by xmalloc (ruby_xmalloc) should be
freed by xfree (ruby_xfree).
* ext/curses/curses.c, ext/dbm/dbm.c, ext/digest/digest.c,
ext/gdbm/gdbm.c, ext/json/ext/parser/parser.c,
ext/json/ext/parser/unicode.c, ext/openssl/ossl_cipher.c,
ext/openssl/ossl_hmac.c, ext/openssl/ossl_pkey_ec.c,
ext/sdbm/init.c, ext/strscan/strscan.c, ext/zlib/zlib.c:
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-08 10:01:40 +00:00
nobu
1b63d7bc92
* vm_core.h (struct rb_unblock_callback), thread.c
...
(set_unblock_function), thread_{pthread,win32}.c (native_sleep):
extracted from struct rb_thread_struct.
* thread.c (reset_unblock_function): not check interrupts at leaving
blocking region. [ruby-dev:34874]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-30 01:52:38 +00:00
ko1
67d0fbd03f
* thread_pthread.c (native_thread_apply_priority):
...
fix argument range check. [ruby-dev:33124]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 12:09:14 +00:00
yugui
02838f3508
Kernel#.sleep used never to sleep on Mac OS X. Fixed it and added error checks.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 03:37:37 +00:00
nobu
d92efa3c0b
* io.c (copy_stream_func): suppress warnings.
...
* thread_pthread.c (add_signal_thread_list): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-20 06:14:49 +00:00
nobu
eb18a827fb
* thread_pthread.c (native_sleep): sleep_cond is initialized at
...
creation. [ruby-Patches-19361].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-10 01:27:25 +00:00
nobu
3a4bfbad09
* thread.c (thread_cleanup_func): ignore errors from destroying mutex
...
of dead thread. [ruby-core:15069]
* thread_pthread.c, thread_win32.c (native_thread_destroy): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-18 06:57:08 +00:00
akr
6cdef2dc7e
* $Date$ keyword removed to avoid inclusion of locale dependent
...
string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 15:49:38 +00:00
akr
dbc78facbc
unused variable removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-05 19:22:44 +00:00
matz
d4c2cca3cb
* thread_pthread.c (native_sleep): timespec tv_sec may overflow on
...
some platform. a patch from zunda <zunda616e AT yahoo.co.jp> in
[ruby-dev:32904].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-31 13:56:42 +00:00
ko1
42f0b52f77
* thread_pthread.c, thread_pthread.h, thread_win32.c,
...
thread_win32.c: make some functions static functions.
a patch from Tadashi Saito <shiba AT mail2.accsnet.ne.jp>
in [ruby-core:14407]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 04:35:17 +00:00
ko1
5f0b8afb97
* vm_core.h, thread.c, cont.c: add RUBY_VM_SET_INTERRUPT(),
...
RUBY_VM_SET_TIMER_INTERRUPT(), RUBY_VM_INTERRUPTED().
* thread.c, thread_pthread.c, thread_win32.c: fix to ignore time slice
event until sleep.
* bootstraptest/test_thread.rb: add a test for time limited join test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 04:16:06 +00:00
ko1
5c00dd28c5
* gc.h: extern variable should not be initialized.
...
* thread_pthread.c: add a parameter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 08:13:39 +00:00
ko1
cb7e82a94a
* thread_pthread.c (native_thread_apply_priority): check
...
_POSIX_PRIORITY_SCHEDULING for OpenBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20 10:14:16 +00:00
ko1
c334a09f7a
* common.mk, *.ci: renamed to *.c.
...
* eval_laod.c: renamed to load.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20 09:29:46 +00:00