From 408ff3dd40e74ca4e883648dba06e7fdcdaca127 Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 15 Dec 2009 15:54:34 +0000 Subject: * lib/find.rb (Find.find): rescue more exceptions which is possible to occur by other process change the directory tree. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@26105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 ++++++- lib/find.rb | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9e7201e38..03554b46f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,11 @@ +Wed Dec 16 00:53:14 2009 Tanaka Akira + + * lib/find.rb (Find.find): rescue more exceptions which is possible to + occur by other process change the directory tree. + Tue Dec 15 09:06:33 2009 Nobuyoshi Nakada - * lib/find.rb (Find.find): get rid of race condition. + * lib/find.rb (Find.find): get rid of race condition. Mon Dec 14 22:33:21 2009 Tanaka Akira diff --git a/lib/find.rb b/lib/find.rb index c9fee921f..591020ea0 100644 --- a/lib/find.rb +++ b/lib/find.rb @@ -41,13 +41,13 @@ module Find yield file.dup.taint begin s = File.lstat(file) - rescue Errno::ENOENT, Errno::EACCES + rescue Errno::ENOENT, Errno::EACCES, Errno::ENOTDIR, Errno::ELOOP, Errno::ENAMETOOLONG next end if s.directory? then begin fs = Dir.entries(file) - rescue Errno::ENOENT, Errno::EACCES, Errno::ENOTDIR + rescue Errno::ENOENT, Errno::EACCES, Errno::ENOTDIR, Errno::ELOOP, Errno::ENAMETOOLONG next end fs.sort! -- cgit