#include "libgomp.h"#include <stdlib.h>#include <string.h>Include dependency graph for task.c:

Go to the source code of this file.
Functions | |
| void | gomp_init_task (struct gomp_task *task, struct gomp_task *parent_task, struct gomp_task_icv *prev_icv) |
| void | gomp_end_task (void) |
| static void | gomp_clear_parent (struct gomp_task *children) |
| void | GOMP_task (void(*fn)(void *), void *data, void(*cpyfn)(void *, void *), long arg_size, long arg_align, bool if_clause, unsigned flags __attribute__((unused))) |
| void | gomp_barrier_handle_tasks (gomp_barrier_state_t state) |
| void | GOMP_taskwait (void) |
| void gomp_barrier_handle_tasks | ( | gomp_barrier_state_t | state | ) |
Definition at line 186 of file task.c.
References gomp_team::barrier, gomp_task::children, gomp_task::fn, gomp_task::fn_data, gomp_barrier_last_thread(), gomp_clear_parent(), gomp_finish_task(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_sem_post(), GOMP_TASK_TIED, gomp_team_barrier_clear_task_pending(), gomp_team_barrier_done(), gomp_team_barrier_set_waiting_for_tasks(), gomp_team_barrier_waiting_for_tasks(), gomp_team_barrier_wake(), gomp_thread(), gomp_task::in_taskwait, gomp_task::kind, gomp_task::next_child, gomp_task::next_queue, gomp_task::parent, gomp_task::prev_child, gomp_task::prev_queue, gomp_team::task_count, gomp_team::task_lock, gomp_team::task_queue, gomp_team::task_running_count, gomp_task::taskwait_sem, and thr.
Referenced by gomp_team_barrier_wait_end().
Here is the call graph for this function:

Here is the caller graph for this function:

| static void gomp_clear_parent | ( | struct gomp_task * | children | ) | [inline, static] |
Definition at line 61 of file task.c.
References gomp_task::children, gomp_task::next_child, and gomp_task::parent.
Referenced by gomp_barrier_handle_tasks(), GOMP_task(), and GOMP_taskwait().
Here is the caller graph for this function:

| void gomp_end_task | ( | void | ) |
Definition at line 51 of file task.c.
References gomp_finish_task(), gomp_thread(), gomp_task::parent, and thr.
Referenced by gomp_free_thread(), GOMP_task(), and gomp_team_end().
Here is the call graph for this function:

Here is the caller graph for this function:

| void gomp_init_task | ( | struct gomp_task * | task, | |
| struct gomp_task * | parent_task, | |||
| struct gomp_task_icv * | prev_icv | |||
| ) |
Definition at line 36 of file task.c.
References gomp_task::children, gomp_sem_init(), GOMP_TASK_IMPLICIT, gomp_task::icv, gomp_task::in_taskwait, gomp_task::in_tied_task, gomp_task::kind, gomp_task::parent, and gomp_task::taskwait_sem.
Referenced by gomp_new_icv(), GOMP_task(), and gomp_team_start().
Here is the call graph for this function:

Here is the caller graph for this function:

| void GOMP_task | ( | void(*)(void *) | fn, | |
| void * | data, | |||
| void(*)(void *, void *) | cpyfn, | |||
| long | arg_size, | |||
| long | arg_align, | |||
| bool | if_clause, | |||
| unsigned flags | __attribute__((unused)) | |||
| ) |
Definition at line 79 of file task.c.
References gomp_team::barrier, buf, gomp_task::children, gomp_task::fn, gomp_clear_parent(), gomp_end_task(), gomp_icv(), gomp_init_task(), gomp_malloc(), gomp_mutex_lock(), gomp_mutex_unlock(), GOMP_TASK_IFFALSE, GOMP_TASK_WAITING, gomp_team_barrier_set_task_pending(), gomp_team_barrier_wake(), gomp_thread(), gomp_task::in_tied_task, gomp_task::kind, gomp_task::next_child, gomp_task::next_queue, gomp_team::nthreads, gomp_task::parent, gomp_task::prev_child, gomp_task::prev_queue, gomp_team::task_count, gomp_team::task_lock, gomp_team::task_queue, gomp_team::task_running_count, and thr.
Here is the call graph for this function:

| void GOMP_taskwait | ( | void | ) |
Definition at line 281 of file task.c.
References gomp_team::barrier, gomp_task::children, gomp_task::fn, gomp_task::fn_data, gomp_clear_parent(), gomp_finish_task(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_sem_wait(), GOMP_TASK_TIED, GOMP_TASK_WAITING, gomp_team_barrier_clear_task_pending(), gomp_thread(), gomp_task::in_taskwait, gomp_task::kind, gomp_task::next_child, gomp_task::next_queue, gomp_task::prev_child, gomp_task::prev_queue, gomp_team::task_count, gomp_team::task_lock, gomp_team::task_queue, gomp_team::task_running_count, gomp_task::taskwait_sem, and thr.
Here is the call graph for this function:

1.4.7