diff options
Diffstat (limited to 'src/glibext/workqueue.c')
| -rw-r--r-- | src/glibext/workqueue.c | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/src/glibext/workqueue.c b/src/glibext/workqueue.c index ad6ede6..fe7f1bb 100644 --- a/src/glibext/workqueue.c +++ b/src/glibext/workqueue.c @@ -247,8 +247,13 @@ wgroup_id_t g_work_queue_define_group(GWorkQueue *queue, guint count)      do      { -        result = queue->generator++; +        result = ++queue->generator; + +        if (result == INVALID_GROUP_ID) +            continue; +          created = g_work_queue_ensure_group_exists(queue, result, count); +      }      while (!created); | 
