InterruptDetach(), InterruptDetach_r()

QNX SDP8.0C Library ReferenceAPIDeveloper

Detach an interrupt thread by ID

Synopsis:

#include <sys/neutrino.h>

int InterruptDetach( int id );

int InterruptDetach_r( int id );

Arguments:

id
An interrupt ID, as returned by InterruptAttachThread(), InterruptAttachEvent(), or InterruptAttachEventPriority().

Library:

libc

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

Description:

The InterruptDetach() and InterruptDetach_r() kernel calls detach the interrupt thread specified by the id argument. These functions are identical except in the way they indicate errors. See the Returns section for details.

After a calling thread becomes an IST (the thread that called InterruptAttachThread()), the IST can call InterruptDetach() to detach itself.

When a thread calls InterruptDetach() to detach an id returned by InterruptAttachEvent*(), the implicit IST kills itself. This action results in a detach from the interrupt.

Blocking states

These calls don't block.

Returns:

The only difference between these functions is the way they indicate errors:

InterruptDetach()
If an error occurs, -1 is returned and errno is set. Any other value returned indicates success.
InterruptDetach_r()
EOK is returned on success. This function does NOT set errno. If an error occurs, any value in the Errors section may be returned.

Errors:

EINVAL
The value of id doesn't exist.

Classification:

QNX OS

Safety:
Cancellation pointNo
Signal handlerYes
ThreadYes
Page updated: