[pypy-svn] r57973 - in pypy/dist/pypy: module/posix rpython/module

fijal at codespeak.net fijal at codespeak.net
Mon Sep 8 16:20:55 CEST 2008


Author: fijal
Date: Mon Sep  8 16:20:53 2008
New Revision: 57973

Modified:
   pypy/dist/pypy/module/posix/__init__.py
   pypy/dist/pypy/module/posix/interp_posix.py
   pypy/dist/pypy/rpython/module/ll_os.py
Log:
os.setegid


Modified: pypy/dist/pypy/module/posix/__init__.py
==============================================================================
--- pypy/dist/pypy/module/posix/__init__.py	(original)
+++ pypy/dist/pypy/module/posix/__init__.py	Mon Sep  8 16:20:53 2008
@@ -101,6 +101,8 @@
         interpleveldefs['seteuid'] = 'interp_posix.seteuid'
     if hasattr(os, 'setgid'):
         interpleveldefs['setgid'] = 'interp_posix.setgid'
+    if hasattr(os, 'setegid'):
+        interpleveldefs['setegid'] = 'interp_posix.setegid'
     # not visible via os, inconsistency in nt:
     if hasattr(posix, '_getfullpathname'):
         interpleveldefs['_getfullpathname'] = 'interp_posix._getfullpathname'

Modified: pypy/dist/pypy/module/posix/interp_posix.py
==============================================================================
--- pypy/dist/pypy/module/posix/interp_posix.py	(original)
+++ pypy/dist/pypy/module/posix/interp_posix.py	Mon Sep  8 16:20:53 2008
@@ -603,6 +603,18 @@
     return space.w_None
 setgid.unwrap_spec = [ObjSpace, int]
 
+def setegid(space, arg):
+    """ setegid(gid)
+
+    Set the current process's effective group id.
+    """
+    try:
+        os.setegid(arg)
+    except OSError, e:
+        raise wrap_oserror(space, e)
+    return space.w_None
+setgid.unwrap_spec = [ObjSpace, int]
+
 def chroot(space, path):
     """ chroot(path)
 

Modified: pypy/dist/pypy/rpython/module/ll_os.py
==============================================================================
--- pypy/dist/pypy/rpython/module/ll_os.py	(original)
+++ pypy/dist/pypy/rpython/module/ll_os.py	Mon Sep  8 16:20:53 2008
@@ -470,6 +470,10 @@
     def register_os_setgid(self):
         return self.extdef_for_function_int_to_int('setgid')
 
+    @registering_if(os, 'setegid')
+    def register_os_setegid(self):
+        return self.extdef_for_function_int_to_int('setegid')
+
     @registering_if(os, 'getpid')
     def register_os_getpid(self):
         return self.extdef_for_os_function_returning_int('getpid')



More information about the Pypy-commit mailing list