fork download
  1. #ディレクトリ階層からファイルのパスとサイズを列挙
  2.  bbb 100
  3.  ccc 200
  4.  ddd 100
  5.  eee 30000
  6.  fff 200
  7.  ggg 100
  8.  hhh 100
  9.  iii 100
  10. #サイズでソートして同サイズがあるものを抽出(eee除外)
  11.  bbb 100
  12.  ddd 100
  13.  ggg 100
  14.  hhh 100
  15.  iii 100
  16.  ccc 200
  17.  fff 200
  18. #ハッシュ計算
  19.  bbb 100 A00000
  20.  ddd 100 B00000
  21.  ggg 100 A00000
  22.  hhh 100 B00000
  23.  iii 100 A00000
  24.  ccc 200 C12346
  25.  fff 200 D23456
  26. #サイズとハッシュでソートして同値があるものを抽出(ccc,fff除外)
  27.  bbb 100 A00000
  28.  ggg 100 A00000
  29.  iii 100 A00000
  30.  ddd 100 B00000
  31.  hhh 100 B00000
  32. "上記処理後、外部プロセスによりgggの一部が変更されたとする"
  33. #重複の集合毎にロックして、再度ハッシュ計算(もしくは完全比較)して削除
  34.  bbb,ggg,iiiをロック(排他open)
  35.  重複再チェック
  36.   再計算後のgggのハッシュ(もしくは完全比較で)不一致のため処理から除外(close)
  37.  iiiを削除
  38.  bbbをアンロック(close)
  39.  
  40.  ddd,hhhをロック
  41.  重複再チェック
  42.  hhh削除
  43. dddをアンロック
  44.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty