Index: util/mac/service_management.h |
diff --git a/util/mac/service_management.h b/util/mac/service_management.h |
index 5a9275dbe91173f8efdf17358322cd547a6516c3..743a5a01b04629071295cb2773a4457c404bea8c 100644 |
--- a/util/mac/service_management.h |
+++ b/util/mac/service_management.h |
@@ -28,9 +28,9 @@ namespace crashpad { |
//! |
//! \return `true` if the job was submitted successfully, otherwise `false`. |
//! |
-//! \note This function is provided because `SMJobSubmit()` does not exist prior |
-//! to Mac OS X 10.6, and behaves flakily on Mac OS X 10.10 DP5 14A314h in |
-//! that it hangs 25% of the time (radar 17365104). |
+//! \note This function is provided because `SMJobSubmit()` is deprecated in Mac |
+//! OS X 10.10. It may or may not be implemented using `SMJobSubmit()` from |
+//! `ServiceManagement.framework`. |
bool ServiceManagementSubmitJob(CFDictionaryRef job_cf); |
//! \brief Removes a job from the user launchd domain as in `SMJobRemove()`. |
@@ -41,11 +41,13 @@ bool ServiceManagementSubmitJob(CFDictionaryRef job_cf); |
//! |
//! \return `true` if the job was removed successfully or if an asynchronous |
//! attempt to remove the job was started successfully, otherwise `false`. |
+//! Unlike previous systems, on Mac OS X 10.10, this function returns `true` |
+//! even if \a label names a job that does not exist. This is filed as radar |
+//! 18268941. |
//! |
-//! \note This function is provided because `SMJobRemove()` does not exist prior |
-//! to Mac OS X 10.6, and when \a wait is true, blocks for far too long on |
-//! Mac OS X 10.10 DP5 14A314h (radar 17365104; `_block_until_job_exits()` |
-//! contains a one-second sleep() call). |
+//! \note This function is provided because `SMJobRemove()` is deprecated in Mac |
+//! OS X 10.10. It may or may not be implemented using `SMJobRemove()` from |
+//! `ServiceManagement.framework`. |
bool ServiceManagementRemoveJob(const std::string& label, bool wait); |
//! \brief Determines whether a specified job is loaded in the user launchd |
@@ -57,10 +59,9 @@ bool ServiceManagementRemoveJob(const std::string& label, bool wait); |
//! |
//! \note A loaded job is not necessarily presently running, nor has it |
//! necessarily ever run in the past. |
-//! \note This function is provided because `SMJobCopyDictionary()` does not |
-//! exist prior to Mac OS X 10.6, and on Mac OS X 10.10 DP5 14A314h, it |
-//! fails to return a job dictionary immediately after a job is loaded |
-//! (radar 17365104). |
+//! \note This function is provided because `SMJobCopyDictionary()` is |
+//! deprecated in Mac OS X 10.10. It may or may not be implemented using |
+//! `SMJobCopyDictionary()` from `ServiceManagement.framework`. |
bool ServiceManagementIsJobLoaded(const std::string& label); |
//! \brief Determines whether a specified job is running in the user launchd |
@@ -70,10 +71,9 @@ bool ServiceManagementIsJobLoaded(const std::string& label); |
//! |
//! \return The job’s process ID if running, otherwise `0`. |
//! |
-//! \note This function is provided because `SMJobCopyDictionary()` does not |
-//! exist prior to Mac OS X 10.6, and on Mac OS X 10.10 DP5 14A314h, it |
-//! fails to return a job dictionary immediately after a job is loaded |
-//! (radar 17365104). |
+//! \note This function is provided because `SMJobCopyDictionary()` is |
+//! deprecated in Mac OS X 10.10. It may or may not be implemented using |
+//! `SMJobCopyDictionary()` from `ServiceManagement.framework`. |
pid_t ServiceManagementIsJobRunning(const std::string& label); |
} // namespace crashpad |