[pypy-svn] r61028 - in pypy/trunk/pypy: module/posix rpython/module
fijal at codespeak.net
fijal at codespeak.net
Fri Jan 16 10:22:15 CET 2009
Author: fijal
Date: Fri Jan 16 10:22:14 2009
New Revision: 61028
Modified:
pypy/trunk/pypy/module/posix/__init__.py
pypy/trunk/pypy/module/posix/interp_posix.py
pypy/trunk/pypy/rpython/module/ll_os.py
Log:
os.{get,set}sid
Modified: pypy/trunk/pypy/module/posix/__init__.py
==============================================================================
--- pypy/trunk/pypy/module/posix/__init__.py (original)
+++ pypy/trunk/pypy/module/posix/__init__.py Fri Jan 16 10:22:14 2009
@@ -89,7 +89,8 @@
for name in ['setsid', 'getuid', 'geteuid', 'getgid', 'getegid', 'setuid',
'seteuid', 'setgid', 'setegid', 'getpgrp', 'setpgrp',
- 'getppid', 'getpgid', 'setpgid', 'setreuid', 'setregid']:
+ 'getppid', 'getpgid', 'setpgid', 'setreuid', 'setregid',
+ 'getsid', 'setsid']:
if hasattr(os, name):
interpleveldefs[name] = 'interp_posix.%s' % (name,)
# not visible via os, inconsistency in nt:
Modified: pypy/trunk/pypy/module/posix/interp_posix.py
==============================================================================
--- pypy/trunk/pypy/module/posix/interp_posix.py (original)
+++ pypy/trunk/pypy/module/posix/interp_posix.py Fri Jan 16 10:22:14 2009
@@ -723,6 +723,26 @@
return space.w_None
setregid.unwrap_spec = [ObjSpace, int, int]
+def getsid(space, pid):
+ """ getsid(pid) -> sid
+
+ Call the system call getsid().
+ """
+ return space.wrap(os.getsid(pid))
+getsid.unwrap_spec = [ObjSpace, int]
+
+def setsid(space):
+ """ setsid()
+
+ Call the system call setsid().
+ """
+ try:
+ os.setsid()
+ except OSError, e:
+ raise wrap_oserror(space, e)
+ return space.w_None
+setsid.unwrap_spec = [ObjSpace]
+
def declare_new_w_star(name):
if name in RegisterOs.w_star_returning_int:
def WSTAR(space, status):
Modified: pypy/trunk/pypy/rpython/module/ll_os.py
==============================================================================
--- pypy/trunk/pypy/rpython/module/ll_os.py (original)
+++ pypy/trunk/pypy/rpython/module/ll_os.py Fri Jan 16 10:22:14 2009
@@ -544,6 +544,14 @@
def register_os_setregid(self):
return self.extdef_for_function_accepting_2int('setregid')
+ @registering_if(os, 'getsid')
+ def register_os_getsid(self):
+ return self.extdef_for_function_int_to_int('getsid')
+
+ @registering_if(os, 'setsid')
+ def register_os_setsid(self):
+ return self.extdef_for_os_function_returning_int('setsid')
+
@registering(os.open)
def register_os_open(self):
os_open = self.llexternal(underscore_on_windows+'open',
More information about the Pypy-commit
mailing list