[Rigo] MANAGING_APPLICATIONS, UPGRADING_SYSTEM no longer use the exclusive lock

This commit is contained in:
Fabio Erculiani
2013-12-31 15:01:57 +01:00
parent 7ec49e5c99
commit f30efd3a8d

View File

@@ -1363,93 +1363,6 @@ class RigoServiceController(GObject.Object):
"not accepting RigoDaemon resources unlock request, "
"local activity: %s" % (local_activity,))
elif activity == DaemonActivityStates.MANAGING_APPLICATIONS:
local_activity = self.local_activity()
if local_activity == LocalActivityStates.READY:
def _application_request():
self._release_local_resources(clear_avc=False)
accepted = self._application_request(
None, None, master=False)
if accepted:
const_debug_write(
__name__,
"_resources_unlock_request_signal: "
"_application_request accepted, unlocking")
self._shared_locker.unlock()
# another client, bend over XD
# LocalActivityStates value will be atomically
# switched in the above thread.
task = ParallelTask(_application_request)
task.daemon = True
task.name = "ApplicationRequestExternal"
task.start()
const_debug_write(
__name__,
"_resources_unlock_request_signal: "
"somebody called app request, starting here too")
elif local_activity == \
LocalActivityStates.MANAGING_APPLICATIONS:
self._release_local_resources(clear_avc=False)
self._shared_locker.unlock()
const_debug_write(
__name__,
"_resources_unlock_request_signal: "
"it's been us calling manage apps")
# it's been us calling it, ignore request
return
elif activity == DaemonActivityStates.UPGRADING_SYSTEM:
local_activity = self.local_activity()
if local_activity == LocalActivityStates.READY:
def _upgrade_system():
accepted = self._upgrade_system(
False, master=False)
if accepted:
const_debug_write(
__name__,
"_resources_unlock_request_signal: "
"_upgrade_system accepted, unlocking")
self._shared_locker.unlock()
# another client, bend over XD
# LocalActivityStates value will be atomically
# switched in the above thread.
task = ParallelTask(_upgrade_system)
task.daemon = True
task.name = "UpgradeSystemExternal"
task.start()
const_debug_write(
__name__,
"_resources_unlock_request_signal: "
"somebody called sys upgrade, starting here too")
elif local_activity == \
LocalActivityStates.UPGRADING_SYSTEM:
self._shared_locker.unlock()
const_debug_write(
__name__,
"_resources_unlock_request_signal: "
"it's been us calling system upgrade")
# it's been us calling it, ignore request
return
else:
const_debug_write(
__name__,
"_resources_unlock_request_signal 2: "
"not accepting RigoDaemon resources unlock request, "
"local activity: %s" % (local_activity,))
def _activity_started_signal(self, activity):
"""
RigoDaemon is telling us that the scheduled activity,