Hi all,

This is a summary of ruby-dev mailing list in these days.


[ruby-dev:22859] Re: [ruby-talk:91705] io/nonblock

  Nobuyoshi Nakada suggested new methods for nonblocking I/O:

    * IO#nonblock?
    * IO#nonblock = flag
    * IO#nonblocking(flag) { .... }
    * IO#nonblock { .... }
    * IO#nonblock

  TANAKA Akira is opposed to this idea, because:

    * Nonblocking IO is not useful in most cases.
    * Nonblocking flag is inherited to child processes,
      that is very dangerous.

  He also suggested alternative solution, "stdio-sensitive sysread".

  This issue is still open.

[ruby-dev:22877] Process.spawn & IO.popen without shell

  Nobuyoshi Nakada proposed a new method Process.spawn.
  This method offers portable interface to spawn processes asynchronously.

     e.g.
     Process.spawn "ls -l /"

  He also suggested that IO.popen should invoke processes without
  shell interaction  e.g. IO.popen directly calls command if the first
  argument is an Array, as well as #exec does.

     # `*' is not expanded
     IO.open(["/bin/ls", "*"], "r")

  Matz agreed with these ideas.

[ruby-dev:22911] core dump with /#{Thread.pass}/o

  TANAKA Akira reported that /#{Thread.pass}/o causes segmentation fault.
  The ruby interpreter edits an internal syntax tree when /#{...}/o is
  seen, the value of /#{...}/o can be unexpectable with multithreads.
  This problem is already discussed in [ruby-dev:11650] and [ruby-dev:21614],
  and it is needed to make Mutex class builtin.

  Akira committed temporary fix, but this issue is still open.

[ruby-dev:23002] drb/eq causes unexpected assertion fail

  Kazuhiro Nishiyama reported that drb's unit test failed at
  test_drb.rb:5: test_05_eq.  This problem is caused by the difference
  of drb/eq.rb load order.

  Masatoshi Seki, the author of drb, noted that he is thinking to require
  drb/eq.rb by default.


-- Minero Aoki

ruby-dev summary index:
http://i.loveruby.net/en/ruby-dev-summary.html