[#40602] [ruby-trunk - Bug #5532][Open] Compile problem for bigdecimal on cygwin — Martin Dürst <duerst@...>
[#40646] [ruby-trunk - Bug #5541][Open] Better configure error message when llvm-gcc is the default compiler — Eric Hodel <drbrain@...7.net>
[#40647] [ruby-trunk - Bug #5542][Open] Ruby 1.9.3-p0 changed arity on default initialization method — Joshua Ballanco <jballanc@...>
[#40648] [ruby-trunk - Feature #5543][Open] rb_thread_blocking_region() API is poorly designed — Christopher Huff <cjameshuff@...>
[#40662] Relevant methods not appearing in RDoc — Andrew Grimm <andrew.j.grimm@...>
The method Module.private_constant isn't appearing in
On Nov 1, 2011, at 3:45 PM, Andrew Grimm wrote:
On Wed, Nov 2, 2011 at 9:55 AM, Eric Hodel <drbrain@segment7.net> wrote:
[#40684] [ruby-trunk - Feature #5555][Open] rename #include? to #includes? — Alexey Muranov <muranov@...>
> The basic naming for methods in standard class libraries are:
On Tue, Apr 24, 2012 at 15:47, Roger Pack <rogerdpack2@gmail.com> wrote:
>> It always confuses me how that one defies the rule.
[#40688] [ruby-trunk - Bug #5556][Open] SIGHUP no longer ignored when sent to process group from a subprocess — Brian Ford <brixen@...>
[#40706] [ruby-trunk - Feature #5562][Open] Improvement of Windows IO performance — Hiroshi Shirosaki <h.shirosaki@...>
[#40737] [ruby-trunk - Bug #5570][Open] Encoding of environment variables on Windows — Nikolai Weibull <now@...>
Hello,
[#40748] Proposal for sustainable branch maintenance — "Yuki Sonoda (Yugui)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
Why maintain 1.9.1 at all? I don't see the benefit. People need to
Hello,
[#40751] [ruby-trunk - Feature #5574][Open] Make arrays comparable — Arnau Sanchez <rbarnau@...>
[#40770] [ruby-trunk - Feature #5578][Open] Embedded YAML for Ruby 2.0 — Thomas Sawyer <transfire@...>
[#40806] [ruby-trunk - Feature #5583][Open] Optionally typing — Yasushi ANDO <andyjpn@...>
[#40824] [ruby-trunk - Feature #5588][Open] add negation flag (v) to Regexp — Suraj Kurapati <sunaku@...>
[#40840] A quiz: Re: Second patch attempt for PATH_MAX fix in ruby1.9.1- 1.9.3~rc1-3 — Svante Signell <svante.signell@...>
Hello,
[#40845] [Ruby 1.8 - Bug #5599][Open] YAML.load_documents — Thomas Sawyer <transfire@...>
[#40865] IO.copy_stream creates files with restrictive permissions — Eric Wong <normalperson@...>
I'm not sure if this is a bug or intended as spec.
2011/11/9 Eric Wong <normalperson@yhbt.net>:
>> I noticed when a file name argument is passed to the IO.copy_stream, the
On 20/11/2011, at 5:09 PM, KOSAKI Motohiro wrote:
2011/11/20 Clifford Heath <clifford.heath@gmail.com>:
>> I think documentation is the wrong answer. The security defects are not caused
2011/11/22 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
On 22/11/2011, at 9:39 AM, Tanaka Akira wrote:
2011/11/22 Clifford Heath <clifford.heath@gmail.com>:
>> The umask that almost every Unix distribution has always had in /etc/profile - which is 022.
[#40867] Question regarding Ruby 2.0 backwards compatibility — Martin Bo煬et <martin.bosslet@...>
If I recall it correctly, the goal for 2.0 was to stay API-compatible
[#40898] [ruby-trunk - Feature #5605][Open] [PATCH] net/http: use IO.copy_stream for requests using body_stream — Eric Wong <normalperson@...>
[#40908] [ruby-trunk - Feature #5607][Open] Inconsistent reaction in Range of String — Yen-Nan Lin <redmine@...>
[#40941] [ruby-trunk - Feature #5617][Open] Allow install RubyGems into dediceted directory — Vit Ondruch <v.ondruch@...>
[#40943] [ruby-trunk - Bug #5619][Open] Segfault on OS X — Otto Hilska <otto@...>
[#40951] [Backport93 - Backport #5621][Open] Please backport thread-safe autoloading patch — Mike Perham <mperham@...>
Unfortunately ruby-head has a deadlock in one of my go-to scenarios for
-----BEGIN PGP SIGNED MESSAGE-----
On Sat, Nov 12, 2011 at 7:24 PM, Hiroshi Nakamura <nahi@ruby-lang.org> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Fri, Nov 18, 2011 at 12:15 AM, Hiroshi Nakamura <nahi@ruby-lang.org> wro=
(2011/11/19 6:31), Charles Oliver Nutter wrote:
On Fri, Nov 18, 2011 at 5:24 PM, Hiroshi Nakamura <nahi@ruby-lang.org> wrot=
(2011/11/19 9:08), Charles Oliver Nutter wrote:
-----BEGIN PGP SIGNED MESSAGE-----
[#40982] [ruby-trunk - Bug #5625][Open] Remove profanity and pejoratives — Andrew Grimm <andrew.j.grimm@...>
I was not aiming to protect children from the f-word. My intention was
[#41004] [ruby-trunk - Feature #5628][Open] Module#basename — Thomas Sawyer <transfire@...>
[#41024] [ruby-trunk - Feature #5632][Open] Attempt to open included class shades it instead. — Boris Stitnicky <boris@...>
[#41025] Proposal to add new methods: positive? negative? natural? — JosFrancisco Calvo Moreno <josefranciscocalvo@...>
Hi all!
On 11/15 12:58, Jos? Francisco Calvo Moreno wrote:
Hi Jeremy,
Hi Chuck,
2011/11/14 Jos=E9 Francisco Calvo Moreno <josefranciscocalvo@gmail.com>:
I don't have a deep understanding of ruby core base types but I want to
On IEEE 754 Floating Point Numbers, there are positive 0.0 and negative 0.0=
Do you suggest the following?
[#41038] [ruby-trunk - Bug #5634][Open] yield and binding — Thomas Sawyer <transfire@...>
[#41078] mkmf sets CFLAGS to contain flags that it shouldn't be setting — Nikolai Weibull <now@...>
Hi!
Hi,
On Thu, Nov 17, 2011 at 07:24, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
On Thu, Nov 17, 2011 at 14:46, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#41079] Why doesn’t mkmf’s have_macro add a HAVE_X to $defs? — Nikolai Weibull <now@...>
Hi!
Hi,
[#41086] [ruby-trunk - Feature #5644][Open] add Enumerable#exclude? antonym — Suraj Kurapati <sunaku@...>
[#41114] [Backport93 - Backport #5646][Open] Backport r33775 — Aaron Patterson <aaron@...>
> Also, is there a script for doing backports? =A0It looks like the commit =
On Thu, Dec 01, 2011 at 02:19:31AM +0900, KOSAKI Motohiro wrote:
>> > Also, is there a script for doing backports? =A0It looks like the comm=
[#41116] Pathname['abc'] instead of Pathname('abc') global method as constructor alternative — "Alexander E. Fischer" <aef@...>
Hello,
[#41149] autoload will be dead — Yukihiro Matsumoto <matz@...>
Hi,
Does this also mean that we will not enhance const_missing to support
[#41160] [ruby-trunk - Bug #5650][Open] Add rb_enc_raise() to allow C extensions to raise errors with messages with correct encoding — Nikolai Weibull <now@...>
[#41161] conflict between 1.8.7 and 1.9.3 installations — Joel VanderWerf <joelvanderwerf@...>
Hi,
On 11/19/2011 04:55 PM, Nobuyoshi Nakada wrote:
[#41171] [ruby-trunk - Feature #5653] "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead) — Hiroshi Nakamura <nakahiro@...>
[#41175] [ruby-trunk - Feature #5654][Open] Introduce global lock to avoid concurrent require — Hiroshi Nakamura <nakahiro@...>
[#41186] [ruby-trunk - Bug #5657][Open] Constants in included modules aren't visible when defining classes with Class.new — Gary Bernhardt <gary.bernhardt@...>
[#41211] Availability of ruby/intern.h — Aaron Patterson <tenderlove@...>
Are functions accessible via ruby/intern.h considered to be "public"
[#41212] [ruby-trunk - Feature #5662][Open] inject-accumulate, or Haskell's mapAccum* — Edvard Majakari <edvard.majakari@...>
[#41213] [ruby-trunk - Bug #5663][Open] Combined map/select method — Yehuda Katz <wycats@...>
[#41256] [ruby-trunk - Feature #2567] Net::HTTP does not handle encoding correctly — Yui NARUSE <naruse@...>
[#41262] [ruby-trunk - Feature #5666][Open] Make rb_path2class public — Aaron Patterson <aaron@...>
[#41302] [ruby-trunk - Feature #5673][Open] undef_method probably doesn't need to raise an error — Thomas Sawyer <transfire@...>
[#41314] [ruby-trunk - Bug #5675][Open] [mingw] static build fails due to socket extension build failure — Jon Forums <redmine@...>
> compiling ../../../ext/socket/socket.c
On Sun, Nov 27, 2011 at 4:11 AM, KOSAKI Motohiro
2011/11/27 Luis Lavena <luislavena@gmail.com>:
[#41321] [Proposal] C API arrangement — Yugui <yugui@...>
Hi, mame-san
[#41336] Wrong encoding of Symbol — Andriy Tyurnikov <andriy.tyurnikov@...>
By default Symbols are encoded as US-ASCII,=20
Hi,
Hi,
Matz wrote :
[#41338] [ruby-trunk - Feature #5677][Open] IO C API — Martin Bosslet <Martin.Bosslet@...>
[#41340] [ruby-trunk - Feature #5678][Open] StringIO#to_str — Martin Bosslet <Martin.Bosslet@...>
[#41351] [ruby-trunk - Bug #5679][Open] Too many arguments for format warnings on mingw32 build — Heesob Park <phasis@...>
> I can see the following warnings during mingw32 build.
[#41370] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW — Luis Lavena <luislavena@...>
2011/11/28 Luis Lavena <luislavena@gmail.com>:
[#41404] [ruby-trunk - Bug #5690][Open] Module#qualified_const_get — Yehuda Katz <wycats@...>
Hi,
[ruby-core:41403] Re: [Backport93 - Backport #5621] Please backport thread-safe autoloading patch
Yehuda Katz (ph) 718.877.1325 On Tue, Nov 29, 2011 at 2:43 AM, Charles Oliver Nutter <headius@headius.com>wrote: > On Mon, Nov 21, 2011 at 4:18 AM, Hiroshi Nakamura <nahi@ruby-lang.org> > wrote: > > I see. Maybe I misunderstood 'a single lock' concept of 1). 1) is not > > needed, and 2) should be enough for safe classloading normally. > > Initialization of classes (and interfaces) are defined in JLS[1] > > carefully, and no deadlock occurred in normal classloading scheme > > (parent to child.) > > > > Customized classloader can cause a deadlock, and Java SE 7 introduced a > > manual way to avoid this for classloader developer. > > > > [1] > > > http://java.sun.com/docs/books/jls/third_edition/html/execution.html#12.4.2 > > [2] > http://docs.oracle.com/javase/7/docs/technotes/guides/lang/cl-mt.html > > Yes, custom classloaders that delegate in odd ways (cross-hierarchy, > where you have crossing child/parent relationships) could certainly > deadlock. It was a bit of an odd situation, though, since normally > classloaders follow a normal child/parent relationship and just go up > a hierarchy. For the cases where you need to do this more complicated > loading, it looks like they've fixed the locking to consider both the > class under load and the classloader loading it, so you don't end up > with a deadlock. > > > Sure. We cannot control code execution order of initializers (that's > > just a chunk of code in Ruby) and deadlock is inherently unavoidable if > > developer writes a 'wrong code' such as; > ... > > As the existing warning 'circular require considered harmful', current > > Ruby treats it as a developer's job to avoid this 'wrong code'. I was > > trying to solve threading issues of require and autoload, and I think we > > solved it at #921 unless developers don't write 'wrong code'. > > > > I understand that Yehuda and you are saying that it's not a 'wrong > > code.' It's hard to define 'wrong code' I agree. I still wanna see > > concrete examples which are not 'wrong code' but I think it's OK to fix > > the issue inherently by introducing global (per VM) file loading lock if > > it doesn't cause serious degradation in 2.0. > > > > Isn't there an application which uses Threads + parallel execution by > > "load" method? I don't have concrete example :) > > You replied later that you meant "require" not "load". I think > Yehuda's case is not too exotic, and could conceivably happen. For the > simple case of two threads autoloading at the same time, if autoload > being made single-threaded (single global lock for all autoloads) > would be enough. If autoloads and normal requires fire at the same > time, however, it could still deadlock. This would happen if an > autoload executes concurrently with another normal require. That's a > bit more exotic. > > I'm stil at a loss to describe a scenario where parallel 'require' is > what you *want* to happen, but I recognize it would be a visible > change from today. > If you have to choose between making requires threadsafe and enabling parallel requires, making requires threadsafe clearly wins. > > >> I think we could claim autoload is thread-safe in itself if it always > >> just used a single lock. In other words, only one thread can be > >> processing autoloads at a time. This doesn't fix the parallel require > >> issue, but it would fix parallel autoloading. > >> > >> I think that's an ok fix, no? > > > > Agreed. At least it's worth trying. > > > > I'll create a new ticket for the change (single lock require.). This > > ticket is for backporting thread-safe autoload (unless you don't write > > 'wrong code' :-) by Mike. I'll wait for the report if the existing > > thread-safe autoload on trunk works for him or not. > > Agreed. At least we can say "concurrent autoloads won't happen" and as > a result they're 100% safe. Concurrent requires still have concerns, > but they're less likely to happen because people genreally don't do > lazy requires in threads unless they're triggered by autoloads. > For reasons I described earlier, Rails emulates autoload via requires, so any threadsafety fix that relies on autoload would either need to mitigate our need to emulate autoload (by allowing something like autoload "Foo::Bar", "foo/bar") or also support threadsafe require. That said, I don't see why we couldn't support threadsafe require for cases where lazy require makes sense. > I think an additional warning about doing requires lazily might be > useful...perhaps any require that happens on some non-main thread that > *isn't* in response to a require should elicit a warning? Or perhaps > when we detect concurrent non-autooad requires (i.e. two threads doing > separate requires at the same time, regardless of the files they're > loading) we should warn? > See above. I would rather just get a single lock around require and make things safe. > > - Charlie > >