HomePhabricator

Make sure TempFiles are destroyed after a PHP fatal error

Description

Make sure TempFiles are destroyed after a PHP fatal error

Summary: Fixes T4284. Object destructors are not called after a fatal, but shutdown functions are.

Test Plan:

  • Created a test script which makes a temp file, then fatals.
  • Before patch, temp file was left around.
  • After patch, it is cleaned up.
  • Explicitly destroyed the tempfile in the script to verify that double-destruction is fine.
  • Removed fatal to verify that normal behavior works as expected.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4284

Differential Revision: https://secure.phabricator.com/D10329