Merge branch 'master' of ssh+git://dev.laptop.org/git/sugar

This commit is contained in:
Simon Schampijer 2007-11-29 14:50:52 +01:00
commit ab1cdc7a30
4 changed files with 16 additions and 13 deletions

View File

@ -19,7 +19,6 @@ import sys
import os
from ConfigParser import ConfigParser
import gettext
import signal
import pygtk
pygtk.require('2.0')
@ -86,12 +85,6 @@ def _shell_started_cb():
hw_manager = hardwaremanager.get_manager()
hw_manager.set_dcon_freeze(0)
def _sigchild_handler(signum, frame):
try:
os.wait()
except OSError:
pass
def main():
gobject.idle_add(_shell_started_cb)
@ -111,8 +104,6 @@ def main():
win.show_all()
gtk.main()
signal.signal(signal.SIGCHLD, _sigchild_handler)
if os.environ.has_key("SUGAR_TP_DEBUG"):
# Allow the user time to start up telepathy connection managers
# using the Sugar DBus bus address

View File

@ -18,6 +18,7 @@
import logging
import subprocess
import signal
import dbus
import gobject
@ -53,6 +54,16 @@ _RAINBOW_SERVICE_NAME = "org.laptop.security.Rainbow"
_RAINBOW_ACTIVITY_FACTORY_PATH = "/"
_RAINBOW_ACTIVITY_FACTORY_INTERFACE = "org.laptop.security.Rainbow"
_children_pid = []
def _sigchild_handler(signum, frame):
for child_pid in _children_pid:
pid, status = os.waitpid(child_pid, os.WNOHANG)
if pid > 0:
_children_pid.remove(pid)
signal.signal(signal.SIGCHLD, _sigchild_handler)
def create_activity_id():
"""Generate a new, unique ID for this activity"""
pservice = presenceservice.get_instance()
@ -224,8 +235,9 @@ class ActivityCreationHandler(gobject.GObject):
self._handle.uri)
if not self._use_rainbow:
process = subprocess.Popen(command, env=environ, cwd=activity.path,
p = subprocess.Popen(command, env=environ, cwd=activity.path,
stdout=log_file, stderr=log_file)
_children_pid.append(p.pid)
else:
log_file.close()
system_bus = dbus.SystemBus()

View File

@ -108,7 +108,7 @@ class Bundle:
raise AlreadyInstalledException
if not os.path.isdir(install_dir):
os.mkdir(install_dir)
os.mkdir(install_dir, 0775)
# zipfile provides API that in theory would let us do this
# correctly by hand, but handling all the oddities of

View File

@ -55,7 +55,7 @@ def get_profile_path(path=None):
base = os.path.join(os.path.expanduser('~/.sugar'), profile_id)
if not os.path.isdir(base):
try:
os.makedirs(base)
os.makedirs(base, 0770)
except OSError, exc:
print "Could not create user directory."