completion.h 462 B

12345678910111213141516171819202122
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_COMPLETION_H
  3. #define NETDATA_COMPLETION_H
  4. #include "../libnetdata.h"
  5. struct completion {
  6. uv_mutex_t mutex;
  7. uv_cond_t cond;
  8. volatile unsigned completed;
  9. };
  10. void completion_init(struct completion *p);
  11. void completion_destroy(struct completion *p);
  12. void completion_wait_for(struct completion *p);
  13. void completion_mark_complete(struct completion *p);
  14. #endif /* NETDATA_COMPLETION_H */