From b178311924d3a5b385cead527daf63a7c7f6daba Mon Sep 17 00:00:00 2001 From: Nikolaj Date: Thu, 28 Oct 2021 15:37:00 +0200 Subject: [PATCH] fhistogram-mt --- A2/fhistogram-mt | Bin 0 -> 27824 bytes A2/fhistogram-mt.c | 69 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 66 insertions(+), 3 deletions(-) create mode 100755 A2/fhistogram-mt diff --git a/A2/fhistogram-mt b/A2/fhistogram-mt new file mode 100755 index 0000000000000000000000000000000000000000..3e8a0585e66c573ee185c7fc033a939c4753d5a4 GIT binary patch literal 27824 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 pfts_path, somehow. + job_queue_push(&q, strdup(p->fts_path)); break; default: break; @@ -79,7 +137,12 @@ int main(int argc, char * const *argv) { fts_close(ftsp); - assert(0); // Shut down the job queue and the worker threads here. + job_queue_destroy(&q); + //printf("done destroying jobqueue\n"); + + for (int i = 0 ; i < num_threads ; i++) { + pthread_join(threads[i], NULL); + } move_lines(9);