Будьте дуже обережні з закривальними ручками; це навіть небезпечніше, ніж ви думаєте, через переробку ручки - якщо ви закриєте ручку файлу, а програма відкриє щось інше, ця оригінальна закрита вами робота файлу може бути повторно використана для цього "чогось іншого". А тепер здогадайтесь, що станеться, якщо програма продовжується, думаючи, що вона працює над файлом (чию ручку ви закрили), коли насправді ця ручка файлу тепер вказує на щось інше.
Припустимо, у службі індексу пошуку відкритий файл для індексації, але він тимчасово застряг, і ви хочете видалити файл, тому ви (нерозумно) змусите ручку закрити. Служба індексу пошуку відкриває свій файл журналу, щоб записати деяку інформацію, а обробка видаленого файлу переробляється як ручка до файлу журналу. Операція застрягання нарешті завершується, і служба пошуку індексу нарешті закінчується, щоб закрити цю ручку, яку вона відкрила, але вона мимоволі закриває ручку файлу журналу.
Служба індексу пошуку відкриває інший файл, скажімо, файл конфігурації для запису, щоб він міг оновити деякий стійкий стан. Ручка для файлу журналу переробляється як ручка для конфігураційного файла. Служба індексу пошуку хоче записати деяку інформацію, тому записує у свій файл журналу. На жаль, ручка файлу журналу була закрита, і ручка повторно використана для конфігураційного файла. Записана інформація надходить у файл конфігурації, пошкоджуючи її.
Тим часом ще одна ручка, яку ви примусово закрили, була повторно використана як ручка з мютексом, яка використовується для запобігання пошкодження даних. Коли оригінальна ручка файлу закрита, ручка mutex закривається і захист від пошкодження даних втрачається. Чим довше працює служба, тим більш пошкодженими стають її індекси. Врешті хтось помітить, що індекс повертає невірні результати. При спробі перезапустити службу вона не вдається, оскільки її файли конфігурації були пошкоджені.
Ви повідомляєте про проблему компанії, яка виробляє службу пошуку індексу, і вони визначають, що індекс був пошкоджений, файл журналу загадково зупинив журнал, а файл конфігурації перезаписали сміттям. Якомусь бідному техніку покладається безперспективне завдання з'ясувати, чому служба пошкоджує свої індекси та файли конфігурації, не знаючи, що джерелом пошкодження є те, що ви змусили ручку закрити.