1From 6ac2f207e8d8e1d16ee73198abccc64d20c5f608 Mon Sep 17 00:00:00 2001
2From: benaryorg <binary@benary.org>
3Date: Thu, 7 Nov 2024 03:27:52 +0000
4Subject: [PATCH 1/2] proper pthread return value
5
6*pthread_create(3)* states that the ways for a pthread to exit includes:
7
8> It returns from start_routine(). This is equivalent to calling pthread_exit(3) with the value supplied in the return statement.
9
10This "retval" is a void pointer which can be anything.
11In this case, since all threads are always joined with a parameter of NULL for the `void**` to store the retval this isn't really relevant for providing a meaningful return value.
12However a `void*` function must return a `void*`, otherwise compilers will complain:
13
14> pHash.cpp:416:1: warning: no return statement in function returning non-void [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreturn-type-Wreturn-type8;;]
15
16Therefore returning NULL seems reasonable.
17As for the choice of NULL vs. nullptr or any other value, NULL is already widely used in the file.
18
19Long story short: this fixes a compiler warning/error.
20
21Signed-off-by: benaryorg <binary@benary.org>
22---
23 src/pHash.cpp | 1 +
24 1 file changed, 1 insertion(+)
25
26diff --git a/src/pHash.cpp b/src/pHash.cpp
27index 07b03ad..23bbbf3 100644
28--- a/src/pHash.cpp
29+++ b/src/pHash.cpp
30@@ -417,6 +417,7 @@ void *ph_image_thread(void *p)
31 memcpy(dp->hash, &hash, sizeof(hash));
32 dp->hash_length = 1;
33 }
34+ return NULL;
35 }
36
37 DP** ph_dct_image_hashes(char *files[], int count, int threads)
38--
392.44.1
40