[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone4-368-g700ab82
Michael 'Mickey' Lauer
mickey at vanille-media.de
Mon Feb 2 18:51:42 UTC 2009
The following commit has been merged in the master branch:
commit d0ce96e0b1ebabb7891baa6be41267da881616e0
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date: Fri Dec 19 02:01:38 2008 +0100
ousaged: check if we woke up due to battery low; trigger emergency shutdown if so
diff --git a/framework/subsystems/ousaged/generic.py b/framework/subsystems/ousaged/generic.py
index b51943c..c1b103a 100644
--- a/framework/subsystems/ousaged/generic.py
+++ b/framework/subsystems/ousaged/generic.py
@@ -13,12 +13,13 @@ Module: generic
"""
MODULE_NAME = "ousaged"
-__version__ = "0.6.0"
+__version__ = "0.7.0"
DBUS_INTERFACE_PREFIX = "org.freesmartphone.Usage"
DBUS_PATH_PREFIX = "/org/freesmartphone/Usage"
from .resources import ClientResource
+from .lowlevel import resumeReason
import framework.patterns.tasklet as tasklet
@@ -114,19 +115,28 @@ class GenericUsageControl( dbus.service.Object ):
"""
The actual resuming tasklet.
"""
- # FIXME might want to traverse /etc/apm.d/... and launch them scripts
+ # FIXME might want to traverse /etc/apm.d/... and launch them scripts
logger.info( "triggering kernel suspend" )
- subprocess.call( "echo apm -s", shell=True )
open( "/sys/power/state", "w" ).write( "mem\n" )
+ # ---------------> Good Night!
+ reason = resumeReason()
+ # ---------------< Good Morning!
+ logger.info( "kernel has resumed - reason = %s" % reason )
+
+ if reason == "LowBattery":
+ logger.info( "kernel resumed because of low battery. Emergency Shutdown!" )
+ subprocess.call( "shutdown -h now &", shell=True )
+ # FIXME trigger shutdown quit
+ yield None
+ else:
+ logger.info( "resuming resources..." )
+ for resource in self.resources.values():
+ logger.debug( "resuming %s", resource.name )
+ yield resource._resume()
+ logger.info( "...completed." )
- logger.info( "kernel has resumed - resuming resources..." )
- for resource in self.resources.values():
- logger.debug( "resuming %s", resource.name )
- yield resource._resume()
- logger.info( "...completed." )
-
- gobject.idle_add( lambda self=self:self.SystemAction( "resume" ) and False ) # send as late as possible
+ gobject.idle_add( lambda self=self:self.SystemAction( "resume" ) and False ) # send as late as possible
def _nameOwnerChangedHandler( self, name, old_owner, new_owner ):
if old_owner and not new_owner:
diff --git a/framework/subsystems/ousaged/lowlevel.py b/framework/subsystems/ousaged/lowlevel.py
index 1798b61..f8e497e 100644
--- a/framework/subsystems/ousaged/lowlevel.py
+++ b/framework/subsystems/ousaged/lowlevel.py
@@ -37,7 +37,7 @@ class OpenmokoResumeReason( object ):
Resume reason class for Openmoko GTA01 (Neo 1973) and GTA02 (Neo FreeRunner).
"""
SYSFS_RESUME_REASON_PATH = "/sys/bus/platform/devices/neo1973-resume.0/resume_reason"
- SYSFS_RESUME_SUBREASON_PATH = "/class/i2c-adapter/i2c-0/0-0073/resume_reason"
+ SYSFS_RESUME_SUBREASON_PATH = "/sys/class/i2c-adapter/i2c-0/0-0073/resume_reason"
def __init__( self ):
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list