Due to some systems like VMS, the "sanctioned" idiom for deleting files is like:
1 while unlink($filename);
unlink($filename) while -f $filename;
However, that kind of loop appears a bit dangerous if you're not sure that unlink() will always eventually return FALSE or remove all versions of that file.
It SOUNDS like that's the kind of bug the -C cleanup code is introducing here. If the file is still open, then going into one of those loops would have the behavior you're experiencing. I haven't dug into pp's code, though, to be sure of it.
[ e d @ h a l l e y . c c ]