Skip to content

Autogen: Factor out concurrency framework in cmQtAutoGeneratorMocUic to cmWorkerPool

This factors out the concurrency framework in cmQtAutoGeneratorMocUic to a dedicated class cmWorkerPool which might be reused in other places.

cmWorkerPool supports fence jobs that require that

  • all other jobs before in the queue have been processed before the fence job processing gets started,
  • no jobs later in the queue will be processed before the fence job processing has been completed.

Fence jobs are needed where the completion of all previous jobs in the queue is a requirement for further processing. E.g. in cmQtAutoGeneratorMocUic the generation of mocs_compilation.cpp requires that all previous source file parse jobs have been completed.

A new QtAutogen/ManySources test stresses the concurrency framework.

Edited by Sebastian Holtermann

Merge request reports