From: yuanyi zhang Date: 2007-07-04T10:14:06+09:00 Subject: Re: Timeout doesn't work correctly under windows when executing complex regexp. 2007/7/4, Nobuyoshi Nakada : > Hi, > > At Wed, 4 Jul 2007 01:41:54 +0900, > yuanyi zhang wrote in [ruby-core:11588]: > > The reason why Y thread won't be woken up is because rb_thread_tick in > > CHECK_INTS isn't decreased THREAD_TICK(500) times, so Y thread won't > > get scheduled until x finished: > > > > rubysig.h > > regex.c doesn't include rubysig.h but defines CHECK_INTS in > itself. > > # define CHECK_INTS do {\ > if (!rb_prohibit_interrupt) {\ > if (rb_trap_pending) rb_trap_exec();\ > }\ > } while (0) > > This does nothing when interrupt is prohibited. > I've found it, interrupt seems be prohibited by default. Does this mean thread schedule won't happen when execute regexp under windows? > -- > Nobu Nakada > >