summaryrefslogtreecommitdiffstats
path: root/thread_win32.ci
Commit message (Collapse)AuthorAgeFilesLines
* * thread.c: fix Mutex to be interruptable lock.ko12007-08-271-4/+85
| | | | | | | | | | | | | | | | | | | * thread_win32.ci, thread_win32.h, thread_pthread.ci, thread_pthread.h: prepare native_cond_*() which are based on pthread_cond_*() spec. * prelude.rb: fix Mutex#synchronize method. * vm_core.h, include/ruby/intern.h: change unblock function interface (to pass some user data). * file.c, process.c: ditto. * benchmark/bm_vm2_mutex.rb: add a benchmark for mutex. * benchmark/bm_vm3_thread_mutex.rb: add a benchmark for mutex with contension. * benchmark/run.rb: fix to remove ENV['RUBYLIB'] for matzruby. * test/ruby/test_thread.rb: add a test. * common.mk: fix benchmark options. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (is_ruby_native_thread): check properly. [ruby-dev:31166]nobu2007-08-181-1/+17
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk: inverted rules order.nobu2007-07-211-4/+18
| | | | | | | | | | | * thread_win32.ci (w32_create_thread): bcc does not have _beginthreadex(). * bcc32/Makefile.sub: headers have moved. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.ci (thread_start_func_2): not use a directive insidenobu2007-07-121-4/+1
| | | | | | | a macro argument. [ruby-talk:258763] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_win32.ci: fixed typo.nobu2007-06-051-3/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c, dir.c, eval.c, eval_jump.h, eval_method.h, numeric.c,nobu2007-06-051-7/+7
| | | | | | | | pack.c, parse.y, re.c, thread.c, vm.c, vm_dump.c, call_cfunc.ci, thread_pthread.ci, thread_win32.ci: fixed indentation. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_win32.ci (w32_wait_events): check whether interrupt_event isusa2007-04-101-5/+6
| | | | | | | | | | | valid handle or not. * thread_win32.ci (native_thread_destroy): clear interrupt_event when close it. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (rb_waitpid_blocking, rb_waitpid): use UBF feature.nobu2007-02-241-1/+7
| | | | | | | | | | | * thread_win32.ci (rb_w32_wait_events_blocking): blocking version. * win32/win32.c (waitpid): use rb_w32_wait_events_blocking(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_polling): check interrupts here.usa2007-02-231-17/+40
| | | | | | | | | | | | | | | * thread_win32.ci (w32_wait_events): rename from w32_wait_event(), and now receive multiple event handles. * win32/win32.c (wait_events, rb_w32_main_context): removed. * thread_win32.ci (rb_w32_wait_events): new function. * thread_win32.ci, win32/win32.c (rb_w32_sleep, rb_w32_Sleep): move from win32/win32.c to thread_win32.ci, and use w32_wait_events(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_win32.ci (w32_show_error_message): renamed to w32_error.ko12007-02-091-34/+63
| | | | | | | | | | | | | | | this function do rb_bug(). * thread_win32.ci (w32_set_event, w32_reset_event, w32_close_handle, w32_resume_thread): added. fix to use these functions instead calling win32api directly. * thread_win32.ci (w32_create_thread): create suspend thread (caller must call w32_resume_thread()). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c, thread_pthread.ci, thread_win32.ci (thread_start_func_1):ko12007-02-081-10/+23
| | | | | | | | | | | | | | | | move cleanup function to thread_start_func_2(). * thread.c, thread_pthread.ci, thread_win32.ci: add more destruct functions. (native_thread_destroy() and native_mutex_destroy()) * thread_pthread.ci, thread_pthread.h: make native_mutex_* functions (check error, etc), it's not macro any more. * thread_win32.ci (thread_start_func_1): store some values before running thread (to release these after running thread). * thread_win32.ci (native_thread_create): fix spaces. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * yarvcore.h, thread.c: fix to use pthread on cygwin.ko12007-02-081-5/+8
| | | | | | | | | | | | | | | | | | * yarvcore.h, thread.c: move GVL_UNLOCK_BEGIN() and GVL_UNLOCK_END() from yarvcore.h to thread.c. * thread.c: change GVL_UNLOCK_RANGE() arguments (adding ubf as 2nd argument). * thread.c: fix to use polling in select on cygwin and mswin32. * thread.c, thread_pthread.ci, thread_win32.ci, yarvcore.h: rename: * rb_thread_t#interrupt_function -> unblock_function * rb_interrupt_function_t -> rb_unblock_function * some interrupt function name -> ubf_* * yarv_* -> * git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * blockinlining.c, error.c, eval.c, eval_error.h, eval_intern.h,ko12007-02-081-8/+8
| | | | | | | | | | | | | | | | eval_jump.h, eval_load.c, eval_safe.h, gc.c, proc.c, signal.c, thread.c, thread_pthread.ci, thread_win32.ci, vm.c, vm.h, vm_dump.c, vm_evalbody.ci, yarvcore.c, yarvcore.h: fix typo (rb_thead_t -> rb_thread_t). * eval_intern.h: remove unused definitions. * common.mk: fix around vm_opts.h path and remove harmful argument passed to insns2vm.rb. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * blockinlining.c, compile.c, compile.h, error.c, eval.c,ko12007-02-061-12/+12
| | | | | | | | | | | | | | | | | | | | | | eval_intern.h, eval_jump.h, eval_load.c, eval_method.h, eval_safe.h, gc.c, insnhelper.h, insns.def, iseq.c, proc.c, process.c, signal.c, thread.c, thread_pthread.ci, thread_win32.ci, vm.c, vm.h, vm_dump.c, vm_evalbody.ci, vm_macro.def, yarv.h, yarvcore.h, yarvcore.c: change type and macro names: * yarv_*_t -> rb_*_t * yarv_*_struct -> rb_*_struct * yarv_tag -> rb_vm_tag * YARV_* -> RUBY_VM_* * proc.c, vm.c: move functions about env object creation from proc.c to vm.c. * proc.c, yarvcore.c: fix rb_cVM initialization place. * inits.c: change Init_ISeq() order (after Init_VM). * ruby.h, proc.c: change declaration place of rb_cEnv from proc.c to ruby.c. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * call_cfunc.ci, compile.c, compile.h, debug.h, eval.c,nobu2007-02-021-4/+4
| | | | | | | | | | | eval_error.h, eval_jump.h, eval_load.c, eval_thread.c, gc.c, insnhelper.h, insns.def, iseq.c, main.c, numeric.c, parse.y, range.c, regenc.h, ruby.h, signal.c, thread.c, thread_win32.ci, vm.c, vm.h, vm_dump.c, vm_evalbody.ci, yarvcore.c, yarvcore.h: fixed indents and non-C90 comments. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_stop_timer_thread(), rb_thread_reset_timer_thread(),ko12007-01-071-10/+9
| | | | | | | | | | | | | | | rb_thread_start_timer_thread()): added. * thread_pthread.ci: add a native_thread_join() and move rb_thread_reset_timer_thread() definition to thread.c. * thread_win32.ci: ditto * process.c: fix before_exec(), after_exec() to stop timer thread (and restart timer thread if exec failed). and fix to reset timer thread information when forked child process starts (to fix [ruby-core:09822]). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_win32.ci (rb_thread_reset_timer_thread) :ko12007-01-051-0/+7
| | | | | | | | added ([ruby-dev:30086]). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * Merge YARVko12006-12-311-0/+310
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e