Caution: This version of this document is no longer maintained. For the latest documentation, see


Enable hardware interrupts


#include <sys/neutrino.h>

void InterruptEnable( void );



Use the -l c option to qcc to link against this library. This library is usually included automatically.


The InterruptEnable() function enables all hardware interrupts. You can call it from a thread or from an interrupt handler. Before calling this function, the thread must request I/O privileges by calling:

ThreadCtl( _NTO_TCTL_IO, 0 );

If the thread doesn't do this, it might SIGSEGV when it calls InterruptEnable().

You should call this function as quickly as possible after calling InterruptDisable().

Note: Use InterruptLock() and InterruptUnlock() instead of InterruptDisable() and InterruptEnable(). The InterruptLock() and InterruptUnlock() functions perform the intended function on SMP hardware, and allow your interrupt thread to run on any processor in the system.


QNX Neutrino

Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

InterruptDisable(), InterruptLock(), InterruptMask(), InterruptUnlock(), InterruptUnmask(), ThreadCtl()

Writing an Interrupt Handler chapter of the Neutrino Programmer's Guide

Interrupts chapter of Getting Started with QNX Neutrino