diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-11-11 21:00:05 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-11-11 21:00:05 (GMT) |
commit | 0727204e36e919f06e80181482981c3f19669d76 (patch) | |
tree | ada49befbc7d91d21623f5221a2f7001d4b741a2 /src/glibext/delayed.h | |
parent | dc49b249f21c1c8582b9ca8debdd5fbdd15eadae (diff) |
Prepared the next generation of parallel processings.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@606 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/glibext/delayed.h')
-rw-r--r-- | src/glibext/delayed.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/glibext/delayed.h b/src/glibext/delayed.h index 03aa873..0a27c93 100644 --- a/src/glibext/delayed.h +++ b/src/glibext/delayed.h @@ -74,6 +74,13 @@ typedef struct _GWorkQueue GWorkQueue; typedef struct _GWorkQueueClass GWorkQueueClass; +/* Identifiant unique pour groupe de travail */ +typedef unsigned long long wgroup_id_t; + +/* Groupe d'exécution par défaut */ +#define DEFAULT_WORK_GROUP 0 + + #define get_work_queue() _get_work_queue(NULL) @@ -86,8 +93,17 @@ bool init_work_queue(GObject *); /* Fournit le gestionnaire de traitements parallèles courant. */ GWorkQueue *_get_work_queue(GWorkQueue *); +/* Constitue un nouveau groupe de travail. */ +wgroup_id_t g_work_queue_define_work_group(GWorkQueue *); + +/* Dissout un groupe de travail existant. */ +void g_work_queue_delete_work_group(GWorkQueue *, wgroup_id_t); + /* Place une nouvelle tâche en attente. */ -void g_work_queue_schedule_work(GWorkQueue *, GDelayedWork *); +void g_work_queue_schedule_work(GWorkQueue *, GDelayedWork *, wgroup_id_t); + +/* Attend que toutes les tâches d'un groupe soient traitées. */ +void g_work_queue_wait_for_completion(GWorkQueue *, wgroup_id_t); |