InterruptUnlock
![]() |
![]() |
![]() |
![]() |
InterruptUnlock()
Release a critical section in an interrupt handler
Synopsis:
#include <sys/neutrino.h> void InterruptUnlock( intrspin_t* spinlock );
Arguments:
- spinlock
- The spinlock (a variable shared between the interrupt handler and a thread) used in a call to InterruptLock() to lock the handler.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
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 request I/O privileges by calling:
ThreadCtl( _NTO_TCTL_IO, 0 );
If the thread doesn't do this, it might SIGSEGV when it calls InterruptUnlock().
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | Yes |
| Signal handler | Yes |
| Thread | Yes |
See also:
InterruptDisable(), InterruptEnable(), InterruptLock(), InterruptMask(), InterruptUnmask(), ThreadCtl()
Writing an Interrupt Handler chapter of the Neutrino Programmer's Guide
Interrupts chapter of Getting Started with QNX Neutrino
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
