diff --git a/ocl.c b/ocl.c index d963fc1e..28d5a871 100644 --- a/ocl.c +++ b/ocl.c @@ -465,6 +465,12 @@ build: return NULL; } + clRetainProgram(clState->program); + if (status != CL_SUCCESS) { + applog(LOG_ERR, "Error: Retaining Program (clRetainProgram)"); + return NULL; + } + /* create a cl program executable for all the devices specified */ char *CompilerOptions = calloc(1, 256); @@ -588,6 +594,12 @@ build: applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithBinary)"); return NULL; } + + clRetainProgram(clState->program); + if (status != CL_SUCCESS) { + applog(LOG_ERR, "Error: Retaining Program (clRetainProgram)"); + return NULL; + } } free(source);