[#28561] Ruby::DL vs Ruby::FFI — Aston <blackapache512-ticket@...>

Ruby.DL and FFI libraries are great for programmers like me who are not internet programmers, but are more interested in scientific and number processing etc.

11 messages 2010/03/08

[#28686] trunk (26947) build fail with msys/mingw/vista — Jon <jon.forums@...>

I get the following build failure when msysgit's "c:\git\cmd" dir is on PATH.

8 messages 2010/03/16

[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:28803] Re: [Bug #2629] ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time

From: Yusuke ENDOH <mame@...>
Date: 2010-03-19 18:20:24 UTC
List: ruby-core #28803
Hi,

2010/3/17 Yusuke Endoh <redmine@ruby-lang.org>:
> I could be wrong because I'm not familiar with multi-thread programming,
> but I doubt that it is potentially dangerous to depend on the reason of
> wait termination.  Couldn't it cause race condition?
>
> I have no idea about concrete race scenario, but there is a circumstance
> where Java's Object#wait seems not to return the termination reason.


I found ptherad_cond_timedwait returns ETIMEOUT.
My concern seemed to be needless fear.

But I still doubt a little whether your code has a race:

http://www.opengroup.org/onlinepubs/000095399/functions/pthread_cond_timedwait.html

> Similarly, when pthread_cond_timedwait() returns with the timeout error,
> the associated predicate may be true due to an unavoidable race between
> the expiration of the timeout and the predicate state change.
>
> The application needs to recheck the predicate on any return because it
> cannot be sure there is another thread waiting on the thread to handle
> the signal, and if there is not then the signal is lost. The burden is
> on the application to check the predicate.


And I realized a bigger problem from the document; it is considered as
a race to speficy a relative time as timeout.

ConditionVariable#wait should accept an absolute time, at least.
But it needs Mutex#sleep accept Time instead of Integer.  Umm.

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread