# NAG CL Interfaceg22zac (handle_​free)

Note: please be advised that this function is classed as ‘experimental’ and its interface may be developed further in the future. Please see Section 4 in How to Use the NAG Library for further information.

## 1Purpose

g22zac destroys a G22 handle and deallocates all the memory used.

## 2Specification

 #include
 void g22zac (void **handle, NagError *fail)
The function may be called by the names: g22zac or nag_blgm_handle_free.

## 3Description

Each G22 handle should be deallocated to avoid memory leaks. Therefore, g22zac should be called on all such handles which are no longer needed. Please note that passing an uninitialized handle might cause unpredictable behaviour, including a crash of your program.

None.

## 5Arguments

1: $\mathbf{handle}$void ** Input/Output
On entry: the G22 handle to be destroyed.
On exit: the handle is destroyed and set to NULL.
2: $\mathbf{fail}$NagError * Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).

## 6Error Indicators and Warnings

NE_ALLOC_FAIL
Dynamic memory allocation failed.
See Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
On entry, argument $〈\mathit{\text{value}}〉$ had an illegal value.
NE_HANDLE
handle has been corrupted.
handle has not been initialized.
handle is a handle to an unknown data structure.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
See Section 7.5 in the Introduction to the NAG Library CL Interface for further information.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library CL Interface for further information.

Not applicable.

## 8Parallelism and Performance

g22zac is not threaded in any implementation.