{"json_modified": "2016-03-28T08:33:01.575300", "uuid": "f3e4dce0-0afd-474b-8141-c1e789953c3b", "title": "AsyncShutdown.jsm", "url": "/en-US/docs/Mozilla/JavaScript_code_modules/AsyncShutdown.jsm", "tags": ["R\u00e9f\u00e9rence", "Reference", "JavaScript"], "translations": [], "modified": "2015-01-19T09:53:00", "label": "AsyncShutdown.jsm", "localization_tags": [], "locale": "en-US", "id": 89049, "last_edit": "2015-01-19T09:52:59", "summary": "Firefox shutdown is composed of phases that take place sequentially. Typically, each shutdown phase removes some capabilities from the application. For instance, at the end of phase profileBeforeChange, no service is permitted to write to the profile directory (with the exception of Telemetry). Consequently, if any service has requested I/O to the profile directory before or during phase profileBeforeChange, the system must be informed that these requests need to be completed before the end of phase profileBeforeChange. Failing to inform the system of this requirement can (and has been known to) cause data loss.", "sections": [{"id": "Managing_safe_shutdown_of_asynchronous_services.", "title": "Managing safe shutdown of asynchronous services."}, {"id": "Example", "title": "Example"}, {"id": "Instances_of_Phase", "title": "Instances of Phase"}, {"id": "Methods_overview", "title": "Methods overview"}, {"id": "Methods", "title": "Methods"}, {"id": "addBlocker_()", "title": null}, {"id": "Arguments", "title": "Arguments"}, {"id": "Examples", "title": null}, {"id": "Properties", "title": null}], "slug": "Mozilla/JavaScript_code_modules/AsyncShutdown.jsm", "review_tags": []}