summaryrefslogtreecommitdiffstats
path: root/thread_pthread.c
Commit message (Collapse)AuthorAgeFilesLines
* * eval.c (ruby_cleanup): the order of local variables on stack isnobu2009-04-191-2/+2
| | | | | | | | | | | | undefined. should use outermost VALUE for ruby_init_stack. * gc.c (ruby_get_stack_grow_direction, Init_stack): allows volatile pointer. * thread_*.c (ruby_init_stack): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (ruby_init_stack): range of rlim_cur may benobu2009-03-111-2/+2
| | | | | | | larger than int. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (ruby_get_stack_grow_direction): no needs to use threadnobu2009-02-271-1/+1
| | | | | | | here, and not initialized yet. [ruby-core:22439] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c (native_thread_create) [__SYMBIAN32__]: reduced pthread ↵azav2009-02-061-2/+6
| | | | | | stack size git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_execute_interrupts): needsnobu2009-01-191-2/+0
| | | | | | | rb_signal_buff_size to be declared. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * signal.c (rb_signal_buff_size): defined for check whether signalnaruse2009-01-011-4/+9
| | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@21265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each), gc.c (assign_heap_slot),nobu2008-12-091-3/+3
| | | | | | | | | | | | | (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: http://svn.ruby-lang.org/repos/ruby/trunk@20593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (ruby_stack_check): no check if using sigaltstack.nobu2008-11-271-0/+104
| | | | | | | | | | | | | | | | * 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: http://svn.ruby-lang.org/repos/ruby/trunk@20372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (thread_timer): checks working flags again.nobu2008-11-081-4/+9
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (rb_thread_create_timer_thread): do not wait nevernobu2008-11-071-2/+3
| | | | | | | coming signal if failed to create tiemr thread. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (native_cond_timedwait): returns error code.nobu2008-11-071-4/+4
| | | | | | | * thread_pthread.c (thread_timer): typo fixed. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (thread_timer, rb_thread_create_timer_thread):nobu2008-11-071-9/+27
| | | | | | | handshakes properly. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (thread_timer): fixed typo.nobu2008-11-071-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (thread_timer): initializes mutex each time.nobu2008-11-071-1/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_timer): pthread_cond_timedwait returns ETIMEDOUTnobu2008-11-061-1/+1
| | | | | | | when timed out. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (thread_timer): uses pthread_cond_timedwait alwaysnobu2008-11-061-27/+0
| | | | | | | instead of pthread_kill. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_timer): uses timedwait on cygwin.nobu2008-11-061-4/+42
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_stop_timer_thread): terminates timer threadnobu2008-11-061-14/+18
| | | | | | | immediately. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c, vm_core.h: add manual priority supportko12008-08-131-0/+5
| | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@18570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (shutdown, sched_yield, pthread_attr_setinheritsched):nobu2008-08-081-4/+4
| | | | | | | | | check for Haiku. * eval_intern.h, io.c, thread_pthread.c: use autoconfisticated results. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval_intern.h: Add support to Haiku. see [ruby-core:18110]naruse2008-08-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | * 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: http://svn.ruby-lang.org/repos/ruby/trunk@18402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_start_func_2): wake up joining threads.nobu2008-07-161-14/+1
| | | | | | | | | | | * 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: http://svn.ruby-lang.org/repos/ruby/trunk@18094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (sleep_forever): wait until timed out. [ruby-core:17270]nobu2008-07-091-15/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_{pthread,win32}.c (native_sleep): wait until timed out.nobu2008-07-091-2/+15
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_{pthread,win32}.c (rb_thread_create_timer_thread): needs morenobu2008-07-091-1/+2
| | | | | | | stack for debug. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (ruby_init_stack): prior STACK_END_ADDRESS ifnobu2008-07-061-0/+8
| | | | | | | found. [ruby-core:17624] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_initialize): NUM2INT() returns int.nobu2008-07-051-3/+2
| | | | | | | | | * 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: http://svn.ruby-lang.org/repos/ruby/trunk@17892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (native_thread_init_stack): suppress warnings.nobu2008-06-171-2/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.h (STACK_UPPER): moved from gc.cnobu2008-06-141-3/+84
| | | | | | | | * thread.c, thread_{pthread,win32}.c (ruby_init_stack, ruby_thread_init_stack): moved stack initialization from gc.c. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c, vm_core.h, vm.c, thread_pthread.c, thread_win32.c: addmame2008-06-121-3/+11
| | | | | | | | | deadlock detection. [ruby-dev:35044] * bootstraptest/test_thread.rb: add tests for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c, bignum.c, cont.c, dir.c, dln.c, encoding.c, enumerator.c,ko12008-06-081-2/+2
| | | | | | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@17017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (struct rb_unblock_callback), thread.cnobu2008-05-301-4/+4
| | | | | | | | | | | (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: http://svn.ruby-lang.org/repos/ruby/trunk@16699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (native_thread_apply_priority):ko12008-05-191-4/+4
| | | | | | | | fix argument range check. [ruby-dev:33124] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Kernel#.sleep used never to sleep on Mac OS X. Fixed it and added error checks.yugui2008-05-171-1/+6
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (copy_stream_func): suppress warnings.nobu2008-04-201-0/+6
| | | | | | | * thread_pthread.c (add_signal_thread_list): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (native_sleep): sleep_cond is initialized atnobu2008-04-101-1/+0
| | | | | | | creation. [ruby-Patches-19361]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_cleanup_func): ignore errors from destroying mutexnobu2008-01-181-1/+1
| | | | | | | | | of dead thread. [ruby-core:15069] * thread_pthread.c, thread_win32.c (native_thread_destroy): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * $Date$ keyword removed to avoid inclusion of locale dependentakr2008-01-061-1/+0
| | | | | | | string. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* unused variable removed.akr2008-01-051-1/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (native_sleep): timespec tv_sec may overflow onmatz2007-12-311-1/+1
| | | | | | | some platform. a patch from zunda <zunda616e AT yahoo.co.jp> in [ruby-dev:32904]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c, thread_pthread.h, thread_win32.c,ko12007-12-251-10/+23
| | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@14657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h, thread.c, cont.c: add RUBY_VM_SET_INTERRUPT(),ko12007-12-251-7/+9
| | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@14654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.h: extern variable should not be initialized.ko12007-12-211-1/+1
| | | | | | | | * thread_pthread.c: add a parameter. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (native_thread_apply_priority): checkko12007-12-201-0/+4
| | | | | | | | _POSIX_PRIORITY_SCHEDULING for OpenBSD. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk, *.ci: renamed to *.c.ko12007-12-201-0/+581
* eval_laod.c: renamed to load.c. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e