InterruptEnable()
Enables external interrupts on the current CPU core of the calling thread
Synopsis:
#include <sys/neutrino.h>
void InterruptEnable( void );
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The InterruptEnable() function enables all external interrupts on the current CPU core of the calling thread; all other CPUs are unaffected.
Before calling this function:
- The process must have the PROCMGR_AID_IO ability enabled. For more information, see procmgr_ability().
- The calling thread must have obtained I/O privileges by calling:
ThreadCtl( _NTO_TCTL_IO_LEVEL, (void*)_NTO_IO_LEVEL_1 );
If you don't do these things, the thread might SIGSEGV when it calls InterruptEnable().
You should call this function as quickly as possible after calling InterruptDisable().
The InterruptEnable() function doesn't support nesting. If a specific thread calls this function once and then calls it again without having disabled hardware interrupts, the second call has no effect.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |