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

fijal at codespeak.net fijal at codespeak.net
Sun Sep 7 09:19:39 CEST 2008


Author: fijal
Date: Sun Sep  7 09:19:38 2008
New Revision: 57921

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.seteuid


Modified: pypy/dist/pypy/module/posix/__init__.py
==============================================================================
--- pypy/dist/pypy/module/posix/__init__.py	(original)
+++ pypy/dist/pypy/module/posix/__init__.py	Sun Sep  7 09:19:38 2008
@@ -97,6 +97,8 @@
         interpleveldefs['getegid'] = 'interp_posix.getegid'
     if hasattr(os, 'setuid'):
         interpleveldefs['setuid'] = 'interp_posix.setuid'
+    if hasattr(os, 'seteuid'):
+        interpleveldefs['seteuid'] = 'interp_posix.seteuid'
     if hasattr(os, 'setgid'):
         interpleveldefs['setgid'] = 'interp_posix.setgid'
     # not visible via os, inconsistency in nt:

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	Sun Sep  7 09:19:38 2008
@@ -579,6 +579,18 @@
     return space.w_None
 setuid.unwrap_spec = [ObjSpace, int]
 
+def seteuid(space, arg):
+    """ seteuid(uid)
+
+    Set the current process's effective user id.
+    """
+    try:
+        os.seteuid(arg)
+    except OSError, e:
+        raise wrap_oserror(space, e)
+    return space.w_None
+seteuid.unwrap_spec = [ObjSpace, int]
+
 def setgid(space, arg):
     """ setgid(gid)
 

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	Sun Sep  7 09:19:38 2008
@@ -462,6 +462,10 @@
     def register_os_setuid(self):
         return self.extdef_for_function_int_to_int('setuid')
 
+    @registering_if(os, 'seteuid')
+    def register_os_seteuid(self):
+        return self.extdef_for_function_int_to_int('seteuid')
+
     @registering_if(os, 'setgid')
     def register_os_setgid(self):
         return self.extdef_for_function_int_to_int('setgid')



More information about the Pypy-commit mailing list