# File lib/vendor/darwin/lib/rb-fsevent/fsevent.rb, line 32 def run @running = true # please note the use of IO::select() here, as it is used specifically to # preserve correct signal handling behavior in ruby 1.8. while @running && IO::select([pipe], nil, nil, nil) if line = pipe.readline modified_dir_paths = line.split(":").select { |dir| dir != "\n" } callback.call(modified_dir_paths) end end rescue Interrupt, IOError ensure stop end