IOのexpertな方、教えてください ><

# afio - manipulate archives and files
COMMAND = "afio -oZ -"

IO.popen(COMMAND, "r+") do |src|
  Find.find("/etc") do |f|
    src.puts(f.chomp)
  end
  src.close_write
  File.open("myArchive.afz", "w") {|dst| dst.write(src.read)}
end

afioコマンドが pipe_wait になって終了しません。
何が悪いのでしょうか?