summaryrefslogtreecommitdiff
path: root/thread_sync.c
AgeCommit message (Expand)Author
2020-11-12strip trailing spaces and adjusted indents [ci skip]Nobuyoshi Nakada
2020-11-08Tidy up book keeping for `thread->keeping_mutexes`.Samuel Williams
2020-11-08Don't try to resume blocked fiber on dead thread.Samuel Williams
2020-11-07Rename to `Fiber#set_scheduler`.Samuel Williams
2020-09-20Make `Thread#join` non-blocking.Samuel Williams
2020-09-20Remove from waiter in Mutex#lock with ensure when calling rb_scheduler_block()Benoit Daloze
2020-09-18Fix copy/paste error from 5bb5e706f1d310a467075630145d2cc277045765Benoit Daloze
2020-09-18Only interrupt when there is no scheduler in sync_wakeup()Benoit Daloze
2020-09-17Cleanup commented codeBenoit Daloze
2020-09-17Add missing goto found;Benoit Daloze
2020-09-17Fix Mutex#unlock with a scheduler and thread contentionBenoit Daloze
2020-09-17Call scheduler.block instead of scheduler.kernel_sleep for blocking Queue/Siz...Benoit Daloze
2020-09-17Rename scheduler.{mutex_lock,mutex_unlock} to {block,unblock}Benoit Daloze
2020-09-14Add support for Queue & SizedQueue.Samuel Williams
2020-09-14Add support for ConditionVariable.Samuel Williams
2020-09-14Improve handling of urgent notification pipe.Samuel Williams
2020-09-14Make Mutex per-Fiber instead of per-ThreadBenoit Daloze
2020-09-03Introduce Ractor mechanism for parallel executionKoichi Sasada
2020-06-29rb_szqueue_push: do not goto into a branch卜部昌平
2020-05-14Thread scheduler for light weight concurrency.Samuel Williams
2020-05-10Added more NORETURN declarationsNobuyoshi Nakada
2020-02-07more on NULL versus functions.卜部昌平
2019-10-28add assertion for mutex_lock.Koichi Sasada
2019-09-27Adjusted spaces [ci skip]Nobuyoshi Nakada
2019-08-29fix arity of rb_mutex_synchronize_m卜部昌平
2019-08-27rb_ensure now free from ANYARGS卜部昌平
2019-06-11do_mutex_lock: release mutex before checking for interrupts (fixes issue 15360)Neeraj Bhunwal
2019-05-31Use UNALIGNED_MEMBER_PTRNobuyoshi Nakada
2018-12-22thread_sync.c (rb_mutex_t): eliminate fork_gennormal
2018-12-21thread_sync.c (rb_mutex_cleanup_keeping_mutexes): update fork_gennormal
2018-12-21thread_sync.c (rb_mutex_abandon_keeping_mutexes): remove unnecessary checknormal
2018-12-18thread_sync.c (mutex_ptr): only reinitalize waitqueue at forknormal
2018-12-06Prefer rb_check_arity when 0 or 1 argumentsnobu
2018-12-05thread_sync.c (mutex_ptr): handle mutexes held by parent threads in childrennormal
2018-09-16Add some missing documentation to Queue#{close|deq} [ci skip]marcandre
2018-08-26thread_sync.c: common wakeup_{one,all} implementationnormal
2018-08-25thread.c: use rb_hrtime_t scalar for high-resolution time operationsnormal
2018-08-21thread*.c: replace GetMutexPtr with mutex_ptrnormal
2018-08-20thread*.c: avoid unnecessary initialization for list_for_each_safenormal
2018-08-19thread_sync.c (rb_condvar_initialize): remove extra semicolonnormal
2018-08-19thread_sync.c (rb_mutex_sleep): disable interrupt checking in ensurenormal
2018-08-19thread_sync.rb (rb_condvar_wait): golf out unnecessary variablesnormal
2018-08-19Revert "thread_sync.c (rb_mutex_sleep): skip interrupt check before sleep"normal
2018-08-18thread_sync.c (rb_mutex_sleep): skip interrupt check before sleepnormal
2018-08-18Revert r64441eregon
2018-08-18thread_sync.c (rb_mutex_synchronize): only unlock if we own the mutexnormal
2018-08-18Revert "thread_sync.c (do_sleep): avoid thread-switch/interrupt check"normal
2018-08-18thread_sync.c (do_sleep): avoid thread-switch/interrupt checknormal
2018-08-16thread_sync.c (rb_mutex_lock): acquire lock before being killednormal
2018-07-25[Doc] Recover example about Queuetenderlove