Man page - q_search(3)
Packages contains this manual
- lc_ctx_set_sym_key(3)
- lc_socketpair(3)
- lc_channel_setkey(3)
- mdex_get(3)
- lc_ctx_ifx(3)
- lc_ctx_set_pub_key(3)
- q_search(3)
- lc_mmapfile(3)
- lc_tuntap_create(3)
- lc_channel_rq(3)
- lc_recvchunk(3)
- q_push(3)
- lc_unshare(3)
- q_wait(3)
- lc_ctx_getkey(3)
- lc_ctx_new(3)
- lc_share(3)
- mdex_put(3)
- mtree_diff_map(3)
- lc_channel_detect_gaps(3)
- lc_socket_close(3)
- lc_sendchunk(3)
- mtree_subtree_data_max(3)
- lc_memsync(3)
- q_job_seek(3)
- lc_syncfile(3)
- lc_socket_new(3)
- lc_sync(3)
- lc_channel_nack_handler_thr(3)
- lc_channel_set_pub_key(3)
- mdex_del(3)
- mdex_getalias(3)
- mdex_addfile(3)
- lc_sendtree(3)
- lc_send(3)
- mtree_parent(3)
- mtree_nnode(3)
- mtree_build(3)
- lc_channel_sendmsg(3)
- q_free(3)
- lc_syncfilelocal(3)
- lc_channel_ratelimit(3)
- lc_channel_check_seqno(3)
- q_pool_create(3)
- mtree_child(3)
- q_pool_destroy(3)
- lc_recvtree(3)
- lc_channel_nack_add_log(3)
- mdex_alias(3)
- lc_ctx_coding_set(3)
- mdex_tree_hash(3)
- lc_ctx_free(3)
- lc_channel_send(3)
- mtree_free(3)
- mdex_init(3)
- mtree_diff_subtree(3)
- mdex_free(3)
- lc_ctx_setkey(3)
- lc_hashtoaddr(3)
- q_init(3)
- lc_channel_coding_set(3)
- lc_channel_nack_handler(3)
- lc_recv(3)
- lc_channel_set_sym_key(3)
- lc_ctx_ratelimit(3)
- mtree_init(3)
- mdex_basedir(3)
- lc_channel_oti_peek(3)
- mdex_add(3)
- mtree_subtree_data_min(3)
- mtree_verify(3)
- lc_channel_getkey(3)
apt-get install liblibrecast-dev
Manual
Q_SEARCH
NAMELIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
SEE ALSO
NAME
q_search - search for an entry in a smolq queue
LIBRARY
Librecast library ( liblibrecast , -llibrecast )
SYNOPSIS
#include <librecast/q.h>
int q_search(q_t *q , void *(* f )(void *), void *restrict arg );
Compile and link with -llibrecast .
DESCRIPTION
q_search () searches the queue q to find an entry that matches both f and arg .
No locks, so readers may read while weβre searching, and writers may write. If something is read while we search, we will still return a positive match for that item, even though it is no longer in the queue. If a writer writes we will not notice that write. If this is a problem, for a particular use-case, an external lock will be required.
RETURN VALUE
The q_push () function returns 1 if found, zero if not found. On error, -1 is returned and errno is set to indicate the error.
ERRORS
The function can fail with any of the errors for sem_getvalue (3).
SEE ALSO
q_job_seek (3), q_pool_create (3), q_pool_destroy (3), q_init (3), q_free (3), q_push (3), q_wait (3), sem_getvalue (3).