Lely core libraries  2.3.4
task.h File Reference

This header file is part of the event library; it contains the task declarations. More...

#include <lely/ev/ev.h>
#include <lely/util/sllist.h>
Include dependency graph for task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ev_task
 An executable task. More...
 

Macros

#define EV_TASK_INIT(exec, func)
 The static initializer for ev_task.
 

Typedefs

typedef void ev_task_func_t(struct ev_task *task)
 The type of function invoked by an executor when a task is run.
 

Functions

struct ev_taskev_task_from_node (struct slnode *node)
 Converts a pointer to a node in a queue to the address of the task containing the node. More...
 
size_t ev_task_queue_post (struct sllist *queue)
 Post the tasks in queue to their respective executors and invokes ev_exec_on_task_fini() for each of them. More...
 
size_t ev_task_queue_abort (struct sllist *queue)
 Aborts the tasks in queue by invoking ev_exec_on_task_fini() for each of them. More...
 

Detailed Description

This header file is part of the event library; it contains the task declarations.

Author
J. S. Seldenthuis jseld.nosp@m.enth.nosp@m.uis@l.nosp@m.ely..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file task.h.

Function Documentation

◆ ev_task_from_node()

struct ev_task* ev_task_from_node ( struct slnode node)

Converts a pointer to a node in a queue to the address of the task containing the node.

Returns
a pointer to the task, or NULL if node is NULL.

Definition at line 32 of file task.c.

◆ ev_task_queue_post()

size_t ev_task_queue_post ( struct sllist queue)

Post the tasks in queue to their respective executors and invokes ev_exec_on_task_fini() for each of them.

Returns
the number of tasks in queue.

Definition at line 38 of file task.c.

◆ ev_task_queue_abort()

size_t ev_task_queue_abort ( struct sllist queue)

Aborts the tasks in queue by invoking ev_exec_on_task_fini() for each of them.

Returns
the number of tasks in queue.

Definition at line 55 of file task.c.