summaryrefslogtreecommitdiff
path: root/services/core/java/com/android/server/power/SuspendBlocker.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/core/java/com/android/server/power/SuspendBlocker.java')
-rw-r--r--services/core/java/com/android/server/power/SuspendBlocker.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/power/SuspendBlocker.java b/services/core/java/com/android/server/power/SuspendBlocker.java
index 565263f8ffaf..55c6a4937a90 100644
--- a/services/core/java/com/android/server/power/SuspendBlocker.java
+++ b/services/core/java/com/android/server/power/SuspendBlocker.java
@@ -35,6 +35,17 @@ interface SuspendBlocker {
void acquire();
/**
+ * Acquires the suspend blocker.
+ * Prevents the CPU from going to sleep.
+ *
+ * Calls to acquire() nest and must be matched by the same number
+ * of calls to release().
+ *
+ * @param id Identifier for this particular acquire. Used for tracking/logging.
+ */
+ void acquire(String id);
+
+ /**
* Releases the suspend blocker.
* Allows the CPU to go to sleep if no other suspend blockers are held.
*
@@ -43,5 +54,16 @@ interface SuspendBlocker {
*/
void release();
+ /**
+ * Releases the suspend blocker.
+ * Allows the CPU to go to sleep if no other suspend blockers are held.
+ *
+ * It is an error to call release() if the suspend blocker has not been acquired.
+ * The system may crash.
+ *
+ * @param id Identifier for this particular release. Used for tracking/logging.
+ */
+ void release(String id);
+
void dumpDebug(ProtoOutputStream proto, long fieldId);
}