def wait3(options): status = ffi.new("int *") ru = ffi.new("struct rusage *") pid = lib.wait3(status, options, ru) rusage = _make_struct_rusage(ru) return pid, status[0], rusage
def wait3(options): status = ffi.new("int *") ru = ffi.new("struct rusage *") pid = lib.wait3(status, options, ru) if pid == -1: errno = ffi.errno raise OSError(errno, os.strerror(errno)) rusage = _make_struct_rusage(ru) return pid, status[0], rusage
def wait3(options): status = ffi.new("int *") ru = ffi.new("struct rusage *") while True: pid = lib.wait3(status, options, ru) if pid != -1: break errno = ffi.errno if errno != EINTR: raise OSError(errno, os.strerror(errno)) rusage = _make_struct_rusage(ru) return pid, status[0], rusage