[#59462] [ruby-trunk - Bug #9342][Open] [PATCH] SizedQueue#clear does not notify waiting threads in Ruby 1.9.3 — "jsc (Justin Collins)" <redmine@...>

9 messages 2014/01/02

[#59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly — "normalperson (Eric Wong)" <normalperson@...>

11 messages 2014/01/02

[#59498] [ruby-trunk - Bug #9352][Open] [BUG] rb_sys_fail_str(connect(2) for [fe80::1%lo0]:3000) - errno == 0 — "kain (Claudio Poli)" <claudio@...>

10 messages 2014/01/03

[#59516] [ruby-trunk - Bug #9356][Open] TCPSocket.new does not seem to handle INTR — "charliesome (Charlie Somerville)" <charliesome@...>

48 messages 2014/01/03

[#59538] [ruby-trunk - Feature #9362][Assigned] Minimize cache misshit to gain optimal speed — "shyouhei (Shyouhei Urabe)" <shyouhei@...>

33 messages 2014/01/03
[#59582] Re: [ruby-trunk - Feature #9362][Assigned] Minimize cache misshit to gain optimal speed — SASADA Koichi <ko1@...> 2014/01/06

Intersting challenge.

[#59541] Re: [ruby-trunk - Feature #9362][Assigned] Minimize cache misshit to gain optimal speed — Eric Wong <normalperson@...> 2014/01/04

Hi, I noticed a trivial typo in array.c, and it fails building struct.c

[#59583] [ruby-trunk - Bug #9367][Open] REXML::XmlDecl doesn't use user specified quotes — "bearmini (Takashi Oguma)" <bear.mini@...>

12 messages 2014/01/06

[#59642] [ruby-trunk - Bug #9384][Open] Segfault in ruby 2.1.0p0 — "cbliard (Christophe Bliard)" <christophe.bliard@...>

11 messages 2014/01/08

[#59791] About unmarshallable DRb objects life-time — Rodrigo Rosenfeld Rosas <rr.rosas@...>

A while ago I created a proof-of-concept that I intended to use in my

16 messages 2014/01/15
[#59794] Re: About unmarshallable DRb objects life-time — Eric Hodel <drbrain@...7.net> 2014/01/15

On 15 Jan 2014, at 11:58, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:

[#59808] Re: About unmarshallable DRb objects life-time — Rodrigo Rosenfeld Rosas <rr.rosas@...> 2014/01/16

Em 15-01-2014 19:42, Eric Hodel escreveu:

[#59810] Re: About unmarshallable DRb objects life-time — Eric Hodel <drbrain@...7.net> 2014/01/16

On 16 Jan 2014, at 02:15, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:

[#59826] Re: About unmarshallable DRb objects life-time — Rodrigo Rosenfeld Rosas <rr.rosas@...> 2014/01/17

Em 16-01-2014 19:43, Eric Hodel escreveu:

[#59832] Re: About unmarshallable DRb objects life-time — Eric Hodel <drbrain@...7.net> 2014/01/17

On 17 Jan 2014, at 04:22, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:

[ruby-core:59505] [Archive191 - Bug #3178] Fileutils#rmdir does rescue Dir Errors without raising new

From: "vajrasky (Vajrasky Kok)" <sky.kok@...>
Date: 2014-01-03 08:50:25 UTC
List: ruby-core #59505
Issue #3178 has been updated by vajrasky (Vajrasky Kok).

File catch_not_deleted_dirs_fileutils_rmdir.patch added

Here is the preliminary patch. Any feedback is welcome.
----------------------------------------
Bug #3178: Fileutils#rmdir does rescue Dir Errors without raising new
https://bugs.ruby-lang.org/issues/3178#change-44050

Author: many (rico gloeckner)
Status: Open
Priority: Normal
Assignee: 
Category: lib
Target version: 
ruby -v: 1.9.1-p376 (manual)


=begin
 another one from #ruby@freenode
 
 15:29 < jetienne> apeiros: on 1.8.7, FileUtils.rmdir('/tmp/nonempty_dir') trigger a Errno::ENOTEMPTY exception, but it doesnt on 1.9.1
 
 /tmp/nonempty_dir is a directory which contains further directories. prior to 1.9.1, this will raise ENOTEMPTY, with 1.9.1 this will return an array, containing the directory.
 
 background:
 Fileutils contains a block, which will rescue ENOTEMPTY from Dir#rmdir, without further raising the error.  This not only breaks backward compatibility, but is also unexpected.  From what i see, i spose this is related to the :parent feature (i.e. recursive removal, afaiu).
 
 The proper behaviour seems to be to return an array containing the real deleted entries if :parent is true and to just re-raise the error if it isnt.  ill try to illustrate with ++ and -- how i'd modify rmdir() in a 1.9.1-p376
 
   def rmdir(list, options = {})
     fu_check_options options, OPT_TABLE['rmdir']
     list = fu_list(list)
     parents = options[:parents]
     fu_output_message "rmdir #{parents ? '-p ' : ''}#{list.join ' '}" if options[:verbose]
     return if options[:noop]
 ++  done = Array.new if parents
     list.each do |dir|
       begin
         Dir.rmdir(dir = dir.sub(%r</\z>, ''))
         if parents
           until (parent = File.dirname(dir)) == '.' or parent == dir
             Dir.rmdir(dir) 
  ++         done.push(dir) # inside "if parents {}", so we dont need to check here
           end
         end
       rescue Errno::ENOTEMPTY, Errno::ENOENT
  ++    raise $! if parents  # re-raise the error if parents is not set.
  ++    return done          # return successfully removed directories otherwise
       end
     end
   end
   module_function :rmdir
 
   OPT_TABLE['rmdir'] = [:parents, :noop, :verbose]
=end



-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next