ham_condition_remove()

Updated: May 06, 2022

Remove a condition from an entity

Synopsis:

#include <ha/ham.h>

int ham_condition_remove( ham_condition_t *chdl, 
                         unsigned flags );

Arguments:

chdl
The HAM condition handle to remove.
flags
Currently not used.

Library:

libham

Description:

The ham_condition_remove() function removes a condition from an entity.

The chdl argument is a handle to a condition that was previously obtained by a call to ham_condition() or to ham_condition_handle().

There are no flags defined at this time.

Note: The ham_connect() function must be called before the first call to ham_condition_remove() in a process. If a process calls ham_connect() and then calls fork(), the child process needs to call ham_connect() again before it can successfully call ham_condition_remove() to remove conditions.

Returns:

0
Success.
-1
An error occurred (errno is set).

Errors:

EBADF
Couldn't connect to the HAM.
EINVAL
The handle passed as an argument is invalid.

The connection to the HAM is invalid. This happens when the process that opened the connection (using ham_connect()) and the process that's calling ham_condition_remove() aren't the same.

ENOENT
There's no condition corresponding to the handle supplied.

In addition to the above errors, the HAM returns any error it encounters while servicing the request.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes