def __init__(self, ffi, w_filename, flags): space = ffi.space fname, handle, autoclose = misc.dlopen_w(space, w_filename, flags) W_LibObject.__init__(self, ffi, fname) self.libhandle = handle if autoclose: self.register_finalizer(space)
def __init__(self, ffi, filename, flags): with rffi.scoped_str2charp(filename) as ll_libname: if filename is None: filename = "<None>" try: handle = dlopen(ll_libname, flags) except DLOpenError as e: raise wrap_dlopenerror(ffi.space, e, filename) W_LibObject.__init__(self, ffi, filename) self.libhandle = handle self.register_finalizer(ffi.space)
class W_DlOpenLibObject(W_LibObject): def __init__(self, ffi, filename, flags): with rffi.scoped_str2charp(filename) as ll_libname: if filename is None: filename = "<None>" try: handle = dlopen(ll_libname, flags) except DLOpenError, e: raise wrap_dlopenerror(ffi.space, e, filename) W_LibObject.__init__(self, ffi, filename) self.libhandle = handle