Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Kea
Kea
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 445
    • Issues 445
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 71
    • Merge Requests 71
  • Operations
    • Operations
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • ISC Open Source Projects
  • KeaKea
  • Issues
  • #1599

Closed
Open
Opened Dec 09, 2020 by Razvan Becheriu@razvanDeveloper

implement thread pool wait and pause and resume functions

The thread pool is missing wait pause and resume functions which can be used in certain situations to optimize, fix or write better code and unittests.

  • the pause function should block all threads on a condition variable and should block the current thread until that happens. it is a lightweight implementation of stop function which destroys the threads (should not be called on processing threads)

  • the resume function should signal waiting threads to resume processing and it is a lightweight implementation of the start function which creates new threads

  • the wait function blocks the calling thread until all items in the queue are processe. This function is useful for unittests as it forces all packets to be processed (used in #991 (closed)). It can also be used when switching from MT to ST when currently queued packets are dropped, but the main thread should wait for all packets to be handled and then switch to ST.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Kea2.x
Milestone
Kea2.x
Assign milestone
Time tracking
None
Due date
None
Reference: isc-projects/kea#1599