Changeset e9b1663d in sasmodels for sasmodels/kerneldll.py


Ignore:
Timestamp:
Mar 23, 2016 3:02:10 PM (8 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
76a9ffe
Parents:
69aa451 (diff), 34edbb8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

pull from master

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/kerneldll.py

    r69aa451 re9b1663d  
    125125    if callable(model_info.get('Iq', None)): 
    126126        return PyModel(model_info) 
    127  
     127     
    128128    dtype = np.dtype(dtype) 
    129129    if dtype == generate.F16: 
     
    138138    else: 
    139139        tempfile_prefix = 'sas_' + model_info['name'] + '128_' 
    140  
     140  
    141141    source = generate.convert_type(source, dtype) 
    142142    newest = generate.timestamp(model_info) 
     
    183183    Call :meth:`release` when done with the kernel. 
    184184    """ 
     185     
    185186    def __init__(self, dllpath, model_info, dtype=generate.F32): 
    186187        self.info = model_info 
     
    220221        kernel = self.Iqxy if q_input.is_2d else self.Iq 
    221222        return DllKernel(kernel, self.info, q_input) 
    222  
     223     
    223224    def release(self): 
    224225        """ 
    225226        Release any resources associated with the model. 
    226227        """ 
    227         pass # TODO: should release the dll 
     228        if os.name == 'nt': 
     229            #dll = ct.cdll.LoadLibrary(self.dllpath) 
     230            dll = ct.CDLL(self.dllpath) 
     231            libHandle = dll._handle 
     232            #libHandle = ct.c_void_p(dll._handle) 
     233            del dll, self.dll 
     234            self.dll = None 
     235            #_ctypes.FreeLibrary(libHandle) 
     236            ct.windll.kernel32.FreeLibrary(libHandle) 
     237        else:     
     238            pass  
    228239 
    229240 
Note: See TracChangeset for help on using the changeset viewer.