示例#1
0
 def get_osfhandle(fd):
     from rpython.rlib.rposix import validate_fd
     validate_fd(fd)
     handle = _get_osfhandle(fd)
     if handle == INVALID_HANDLE_VALUE:
         raise WindowsError(ERROR_INVALID_HANDLE, "Invalid file handle")
     return handle
示例#2
0
def create_fdopen_rfile(fd, mode="r", buffering=-1):
    newmode = _sanitize_mode(mode)
    rposix.validate_fd(fd)
    ll_mode = rffi.str2charp(newmode)
    try:
        ll_file = c_fdopen(fd, ll_mode)
        if not ll_file:
            errno = rposix.get_saved_errno()
            raise OSError(errno, os.strerror(errno))
    finally:
        lltype.free(ll_mode, flavor='raw')
    _dircheck(ll_file)
    f = RFile(ll_file, mode)
    f._setbufsize(buffering)
    return f
示例#3
0
def validate_fd(space, fd):
    try:
        rposix.validate_fd(fd)
    except OSError, e:
        raise wrap_oserror(space, e)
示例#4
0
文件: api.py 项目: charred/pypy
def feof(fp):
    validate_fd(fileno(fp))
    return _feof(fp)
示例#5
0
文件: api.py 项目: charred/pypy
def fread(buf, sz, n, fp):
    validate_fd(fileno(fp))
    return _fread(buf, sz, n, fp)
示例#6
0
文件: api.py 项目: charred/pypy
def fwrite(buf, sz, n, fp):
    validate_fd(fileno(fp))
    return _fwrite(buf, sz, n, fp)
示例#7
0
def validate_fd(space, fd):
    try:
        rposix.validate_fd(fd)
    except OSError, e:
        raise wrap_oserror(space, e)
示例#8
0
文件: api.py 项目: juokaz/pypy
def feof(fp):
    validate_fd(fileno(fp))
    return _feof(fp)
示例#9
0
文件: api.py 项目: juokaz/pypy
def fread(buf, sz, n, fp):
    validate_fd(fileno(fp))
    return _fread(buf, sz, n, fp)
示例#10
0
文件: api.py 项目: juokaz/pypy
def fwrite(buf, sz, n, fp):
    validate_fd(fileno(fp))
    return _fwrite(buf, sz, n, fp)