Project

General

Profile

« Previous | Next » 

Revision f5dc27aa

Added by Masaya Tarui over 12 years ago

  • thread.c (thread_join_sleep): check spurious wakeup by itself for
    corresponding status change in trap context.
    * vm_core.h (struct rb_thread_struct): add rb_thread_list_t and use as join_list for
    reentry by trap context.
    * thread.c (thread_start_func_2): ditto.
    * thread.c (remove_from_join_list): ditto.
    * thread.c (rb_thread_atfork): ditto.
    * thread.c (thread_join): ditto. & remove trap handler check.
    * thread.c (sleep_forever): add argument : spurious_check.
    * thread.c (sleep_timeval): ditto.
    * thread.c (rb_thread_sleep_forever): set spurious_check.
    * thread.c (rb_thread_sleep_deadly): ditto.
    * thread.c (sleep_for_polling): ditto.
    * thread.c (rb_thread_wait_for): ditto.
    * thread.c (sleep_wait_for_interrupt): bypass spurious_check.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e