Interrupts#

To interrupt GAUSS programs, there are the following functions:

GAUSS_SetGlobalInterrupt

Interrupt all programs.

GAUSS_SetProgramInterrupt

Interrupt all programs using a specified program handle.

GAUSS_SetWorkspaceInterrupt

Interrupt all programs using a specified workspace handle.

To clear the interrupts use:

GAUSS_ClearGlobalInterrupt

GAUSS_ClearProgramInterrupt

GAUSS_ClearWorkspaceInterrupt

A global interrupt must be explicitly cleared or no subsequent programs will run. If the program and workspace interrupts are not cleared, the associated handles will be disabled for subsequent programs. Also, all programs in all threads will run slightly slower when interrupts are pending. Clearing the interrupt requests will allow any simultaneously running threads to run at full speed,

so it is good practice even if the associated handles will not be reused.