[#21039] Happy new year and... moving Ruby development to Git? — Michael Klishin <michael.s.klishin@...>

Happy new year everyone.

94 messages 2009/01/01
[#21040] Re: Happy new year and... moving Ruby development to Git? — James Gray <james@...> 2009/01/01

On Jan 1, 2009, at 6:42 AM, Michael Klishin wrote:

[#21041] Re: Happy new year and... moving Ruby development to Git? — brabuhr@... 2009/01/01

On Thu, Jan 1, 2009 at 11:22 AM, James Gray <james@grayproductions.net> wrote:

[#21042] Re: Happy new year and... moving Ruby development to Git? — Federico Builes <federico.builes@...> 2009/01/01

brabuhr@gmail.com writes:

[#21049] Re: Happy new year and... moving Ruby development to Git? — Michael Klishin <michael.s.klishin@...> 2009/01/01

[#21053] Re: Happy new year and... moving Ruby development to Git? — znmeb@... 2009/01/01

Quoting Michael Klishin <michael.s.klishin@gmail.com>:

[#21068] Re: Happy new year and... moving Ruby development to Git? — Yukihiro Matsumoto <matz@...> 2009/01/02

Hi,

[#21069] Re: Happy new year and... moving Ruby development to Git? — Florian Gilcher <flo@...> 2009/01/02

-----BEGIN PGP SIGNED MESSAGE-----

[#21070] Re: Happy new year and... moving Ruby development to Git? — "Luis Lavena" <luislavena@...> 2009/01/02

T24gRnJpLCBKYW4gMiwgMjAwOSBhdCAxMjoxOCBQTSwgRmxvcmlhbiBHaWxjaGVyIDxmbG9AYW5k

[#21073] Re: Happy new year and... moving Ruby development to Git? — mathew <meta@...> 2009/01/02

My opinion:

[#21078] Re: Happy new year and... moving Ruby development to Git? — "Eust痃uio Rangel" <eustaquiorangel@...> 2009/01/02

My two cents:

[#21101] Re: Happy new year and... moving Ruby development to Git? — "M. Edward (Ed) Borasky" <znmeb@...> 2009/01/03

Eust=E1quio Rangel wrote:

[#21102] Re: Happy new year and... moving Ruby development to Git? — "Nikolai Weibull" <now@...> 2009/01/03

On Sat, Jan 3, 2009 at 21:40, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

[#21104] Re: Happy new year and... moving Ruby development to Git? — "M. Edward (Ed) Borasky" <znmeb@...> 2009/01/03

Nikolai Weibull wrote:

[#21106] Re: Happy new year and... moving Ruby development to Git? — "Giuseppe Bilotta" <giuseppe.bilotta@...> 2009/01/04

On Sat, Jan 3, 2009 at 10:39 PM, M. Edward (Ed) Borasky

[#21114] Re: Happy new year and... moving Ruby development to Git? — Joel VanderWerf <vjoel@...> 2009/01/04

Giuseppe Bilotta wrote:

[#21132] Re: Happy new year and... moving Ruby development to Git? — Michael Klishin <michael.s.klishin@...> 2009/01/05

[#21134] Re: Happy new year and... moving Ruby development to Git? — Daniel Berger <djberg96@...> 2009/01/05

Michael Klishin wrote:

[#21080] Re: Happy new year and... moving Ruby development to Git? — Eric Hodel <drbrain@...7.net> 2009/01/02

On Jan 1, 2009, at 04:42 AM, Michael Klishin wrote:

[#21083] Re: Happy new year and... moving Ruby development to Git? — "Nikolai Weibull" <now@...> 2009/01/03

On Sat, Jan 3, 2009 at 00:34, Eric Hodel <drbrain@segment7.net> wrote:

[#21089] Re: Happy new year and... moving Ruby development to Git? — Michael Klishin <michael.s.klishin@...> 2009/01/03

[#21147] Re: Happy new year and... moving Ruby development to Git? — Paul Brannan <pbrannan@...> 2009/01/05

On Sat, Jan 03, 2009 at 12:48:09PM +0900, Michael Klishin wrote:

[#21160] Re: Happy new year and... moving Ruby development to Git? — Eric Hodel <drbrain@...7.net> 2009/01/05

On Jan 2, 2009, at 17:25 PM, Nikolai Weibull wrote:

[#21165] Re: Happy new year and... moving Ruby development to Git? — Sylvain Joyeux <sylvain.joyeux@...4x.org> 2009/01/06

> I think I'm entitled to an opinion on the subject because I am a

[#21097] [Bug #977] caller for all threads patch — Roger Pack <redmine@...>

Bug #977: caller for all threads patch

15 messages 2009/01/03
[#23760] Re: [Bug #977] caller for all threads patch — SASADA Koichi <ko1@...> 2009/06/08

I made a patch to Thread#caller(lev=1). It may be more flexible than

[#21244] [Bug #999] SSL & ZIP missing from ruby-1.9.1-preview1-i386-mswin32 — William Mason <redmine@...>

Bug #999: SSL & ZIP missing from ruby-1.9.1-preview1-i386-mswin32

14 messages 2009/01/10

[#21259] Do I need a special build arg to get irb to accept utf characters on OSX — Dave Thomas <dave@...>

I'm seeing very strange behavior at the irb prompt with ruby 1.9.1 =20

10 messages 2009/01/11

[#21310] [Bug #1008] Missing shell version of ruby-1.9 commands (gem, rake, ...) for MinGW installation — Chauk-Mean Proum <redmine@...>

Bug #1008: Missing shell version of ruby-1.9 commands (gem, rake, ...) for MinGW installation

8 messages 2009/01/13

[#21339] [Bug #1010] Ruby-1.9's rake sh doesn't work on Windows (but fix provided) — Chauk-Mean Proum <redmine@...>

Bug #1010: Ruby-1.9's rake sh doesn't work on Windows (but fix provided)

10 messages 2009/01/14

[#21399] Proposal: Module#copy_method — Yehuda Katz <wycats@...>

I'd like it to be possible to copy methods from one module to another. The

38 messages 2009/01/18
[#21428] Re: Proposal: Module#copy_method — Yukihiro Matsumoto <matz@...> 2009/01/19

Hi,

[#21550] [Feature #1046] request: ability to run without specifying .rb — Roger Pack <redmine@...>

Feature #1046: request: ability to run without specifying .rb

13 messages 2009/01/24

[#21552] [Feature #1047] request: getters, setters for the GC — Roger Pack <redmine@...>

Feature #1047: request: getters, setters for the GC

15 messages 2009/01/24

[#21613] [Bug #1063] in `write': Not enough space - <STDOUT> (Errno::ENOMEM) on Windows XP — Nick Gorbikoff <redmine@...>

Bug #1063: in `write': Not enough space - <STDOUT> (Errno::ENOMEM) on Windows XP

11 messages 2009/01/27

[#21640] [Bug #1068] Ruby Cannot Handle Some UIDs — James Gray <redmine@...>

Bug #1068: Ruby Cannot Handle Some UIDs

12 messages 2009/01/28
[#21642] Re: [Bug #1068] Ruby Cannot Handle Some UIDs — Ondrej Bilka <neleai@...> 2009/01/28

On Wed, Jan 28, 2009 at 05:00:05PM +0100, James Gray wrote:

[#21663] Re: [Bug #1068] Ruby Cannot Handle Some UIDs — Nobuyoshi Nakada <nobu@...> 2009/01/29

Hi,

[#21701] [Feature #1081] add File::write() convenience method — Suraj Kurapati <redmine@...>

Feature #1081: add File::write() convenience method

34 messages 2009/01/31
[#28450] [Feature #1081] add File::write() convenience method — Yusuke Endoh <redmine@...> 2010/03/03

Issue #1081 has been updated by Yusuke Endoh.

[#28455] Re: [Feature #1081] add File::write() convenience method — Yukihiro Matsumoto <matz@...> 2010/03/04

Hi,

[#28472] Re: [Feature #1081] add File::write() convenience method — Yusuke ENDOH <mame@...> 2010/03/04

Hi,

[#21702] [Feature #1082] add Object#singleton_class method — Suraj Kurapati <redmine@...>

Feature #1082: add Object#singleton_class method

54 messages 2009/01/31
[#27372] [Feature #1082] add Object#singleton_class method — Suraj Kurapati <redmine@...> 2010/01/02

Issue #1082 has been updated by Suraj Kurapati.

[#27384] Re: [Feature #1082] add Object#singleton_class method — Yukihiro Matsumoto <matz@...> 2010/01/04

Hi,

[#27394] Re: [Feature #1082] add Object#singleton_class method — Yusuke ENDOH <mame@...> 2010/01/04

Hi,

[#27407] Re: [Feature #1082] add Object#singleton_class method — Shugo Maeda <shugo@...> 2010/01/05

Hi,

[#27409] Re: [Feature #1082] add Object#singleton_class method — Yukihiro Matsumoto <matz@...> 2010/01/05

Hi,

[#28304] Re: [Feature #1082] add Object#singleton_class method — Shugo Maeda <shugo@...> 2010/02/23

Hi,

[ruby-core:21362] Re: Supporting Thread.critical=with native threads

From: Jim Deville <jdeville@...>
Date: 2009-01-15 07:48:26 UTC
List: ruby-core #21362
One of the points in the spec is that with native threads, there is no way =
to guarantee that all other threads stop when Thread.critical=3Dtrue is cal=
led. If you want to allow Threads to block waiting for a global mutex, you =
risk deadlocks, which isn't an acceptable alternative.

I thought that either Charlie or Shri had looked and not currently found a =
piece of code expecting Thread.critical to unscheduled other threads. Do yo=
u have a counter example?

JD

-----Original Message-----
From: Brent Roman [mailto:brent@mbari.org]
Sent: Wednesday, January 14, 2009 8:58 PM
To: ruby-core@ruby-lang.org
Subject: [ruby-core:21359] Re: Supporting Thread.critical=3Dwith native thr=
eads


Shri & Charlie,

I just had a look at the proposed spec for Thread.critical=3D at

http://blogs.msdn.com/shrib/archive/2009/01/07/proposed-spec-for-ruby-s-thr=
ead-critical.aspx

When Ruby 1.6.8 first appeared, all the thread locking primitives had
Thread.critical=3D
at their core.  It was the only thread locking mechanism available.

No one is claiming that it is good or modern.  The only reason to keep
supporting it
is to allow old Ruby scripts to run in newer implementations.

To that end, I'd like to point out that:
  1)  Thread.critical=3D is not a block construct.  Talking about it being
reentrant or not makes no sense.
       It is a global attribute, atomically set true or false.
         --> Thread.exclusive {} is a block construct based on
Thread.critical.  Is that the confusion?

  2)  If a thread executes Thread.critical=3Dtrue when it is already true,
absolutely nothing changes.

  3)  Thread.critical=3Dfalse exits the critical section, regardless of how
many times it had been been redundantly set true.

  4)  Thread.critical=3Dfalse when it is already false does absolutely
nothing.

  5)  If a thread dies while Thread.critical=3Dtrue, it remains set.  It do=
es
not throw an exception.

  6)  Thread.stop sets Thread.critical=3Dfalse and blocks the current threa=
d
in one, atomic operation.

There should be no wriggle room in the spec about this.  The existing
behavior may not be optimal, but it is simple and well established.  Old
code depends on it, warts and all.  New code should avoid the use the
Thread.critical entirely.

For native threaded implementations, all of this can, and probably should,
be implemented with a single, non-reentrant mutex.  Thread.critical=3Dtrue
when it was false would lock the global mutex and may block waiting for it.
Thread.critical=3Dfalse when it was true would unlock it.

I think this approach is straightforward, allows native threaded
interpreters to avoid expensive checkpointing and maintains very good
compatibility with existing Ruby scripts.  I would suggest that JRuby keep
its existing checkpointing available as a run-time option for maximum
compatibility, analogous to its support of ObjectSpace.  Thus, JRuby could
continue to support those few scripts that do depend on the fact that, in
MRI and other green threaded implementations, Thread.critical=3Dtrue can be
used to keep all other threads from running.

- brent

--
View this message in context: http://www.nabble.com/-ruby-core%3A20999--Sup=
porting-Thread.critical%3Dwith-native-threads-tp21224464p21471393.html
Sent from the ruby-core mailing list archive at Nabble.com.




In This Thread