Release a critical section in an interrupt handler
#include <sys/neutrino.h> void InterruptUnlock( intrspin_t* spinlock );
- The spinlock (a variable shared between the interrupt handler and a thread) used in a call to InterruptLock() to lock the handler.
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The InterruptUnlock() function releases a critical section by unlocking the specified spinlock, reenabling interrupts. You can call this function from a thread or from an interrupt handler.
Before calling this function, the thread must:
- have the PROCMGR_AID_IO ability enabled. For more information, see procmgr_ability().
- request I/O privileges by calling:
ThreadCtl( _NTO_TCTL_IO, 0 );
If the thread doesn't do these things, it might SIGSEGV when it calls InterruptUnlock().