Пример #1
0
void mtev_skiplist_destroy(mtev_skiplist *sl, mtev_freefunc_t myfree) {
  if(sl->index) {
    while(mtev_skiplist_pop(sl->index, mtev_skiplisti_destroy) != NULL);
    free((void *) sl->index);
  }
  mtev_skiplist_remove_all(sl, myfree);
}
Пример #2
0
static void finish_procs() {
  struct proc_state *ps;
  process_siglist();
  mtevL(noit_debug, "%d done procs to cleanup\n", done_procs.size);
  while((ps = mtev_skiplist_pop(&done_procs, NULL)) != NULL) {
    mtevL(noit_debug, "finished %lld/%d\n", (long long int)ps->check_no, ps->pid);
    if(ps->cancelled == 0) {
      assert_write(out_fd, &ps->check_no,
                   sizeof(ps->check_no));
      assert_write(out_fd, &ps->status,
                   sizeof(ps->status));
      write_out_backing_fd(out_fd, ps->stdout_fd);
      write_out_backing_fd(out_fd, ps->stderr_fd);
    }
    proc_state_free(ps);
  }
}