[#32676] VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex — Phlip <phlip2005@...>
[I will try Bill Kelly's PDB path advice presently; this issue is more
5 messages
2010/10/03
[#32687] Re: VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex
— Roger Pack <rogerdpack2@...>
2010/10/04
> This one's about...
[#32703] Re: VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex
— Phlip <phlip2005@...>
2010/10/05
> > #<NoMethodError: undefined method `synchronize' for #<Mutex:0x750faa8>>
[#32698] [Ruby 1.9-Feature#3908][Open] private constant — Yusuke Endoh <redmine@...>
Feature #3908: private constant
10 messages
2010/10/05
[#32795] Call for Cooperation: CFUNC usage survey — SASADA Koichi <ko1@...>
Hi,
5 messages
2010/10/15
[#32814] WeakHash — Santiago Pastorino <santiago@...>
Hi guys,
6 messages
2010/10/15
[#32844] [Ruby 1.9-Feature#3963][Open] Map class in standard library — Thomas Sawyer <redmine@...>
Feature #3963: Map class in standard library
3 messages
2010/10/18
[#32864] [Ruby 1.9-Bug#3972][Open] r28668 breaks test/unit when combined with the testing rake task — Aaron Patterson <redmine@...>
Bug #3972: r28668 breaks test/unit when combined with the testing rake task
6 messages
2010/10/20
[#32932] Behavior of initialize in 1.9 — Aaron Patterson <aaron@...>
The behavior of initialize in 1.9 seems to have changed. Here is an irb
5 messages
2010/10/28
[#32960] [Ruby 1.9-Bug#4005][Open] YAML fails to roundtrip Time objects — Peter Weldon <redmine@...>
Bug #4005: YAML fails to roundtrip Time objects
6 messages
2010/10/29
[#32976] Improve MinGW builds for Ruby 1.8.7, 1.9.2 and 1.9.3 — Luis Lavena <luislavena@...>
Hello,
10 messages
2010/10/30
[#32978] Re: Improve MinGW builds for Ruby 1.8.7, 1.9.2 and 1.9.3
— Aaron Patterson <aaron@...>
2010/10/30
On Sun, Oct 31, 2010 at 03:42:02AM +0900, Luis Lavena wrote:
[ruby-core:32789] Re: [Ruby 1.9-Feature#3436] Spawn the timer thread lazily
From:
SASADA Koichi <ko1@...>
Date:
2010-10-14 16:09:54 UTC
List:
ruby-core #32789
Hi,
(2010/10/14 16:45), Mark Somerville wrote:
>> ex) How to wake up the thread?
>>
>> check_signal();
>> <- receive signal at this timing
>> select(..., infinitely);
>
> Would this occur if rb_signal_buff_size() > 1 and we process a signal
> with a handler that calls a blocking function?
I can't understand your situation.
My situation is occur if signal received at pointed by <this point>:
thread.c:2504
BLOCKING_REGION({
/* !!! <this point> !!! */
result = select(n, read, write, except, timeout);
if (result < 0) lerrno = errno;
}, ubf_select, GET_THREAD());
<this point> is
"after signal checking" and
"before calling system call".
>> (2) Performance issue. Your patch start/kill the timer thread. In
>> general, the native thread creation/deletion cause some performance issue.
>
> I assumed (perhaps incorrectly) that the overhead was small enough and
> the creation and deletion uncommon enough that it wouldn't be a problem.
I agree that is it not huge performance issue.
> Perhaps there could be a method of increasing the time the timer thread
> waits if rb_thread_alone() and creation of a new thread could reduce
> this again.
My idea is keep the timer thread sleep infinity while only one thread is
running.
>> I understand your issue. In fact, I'm considering this problem and
>> seeking the solution in recent months.
>
> It seems to me that we are attempting different things. I have been
> primarily concerned with reducing/removing CPU wakeups in the
> single-threaded case and falling back to the timer thread when
> multi-threaded. Assuming, I understand you correcly, you appear to be
> trying to remove the timer thread completely.
I think we are aimed to solve same problem. I also want to reduce CPU
wake up counts. And currently I think we can't remove timer thread.
--
// SASADA Koichi at atdot dot net