Skip to content

Conversation

@benaryorg
Copy link

pthread_create(3) states that the ways for a pthread to exit includes:

It returns from start_routine(). This is equivalent to calling pthread_exit(3) with the value supplied in the return statement.

This "retval" is a void pointer which can be anything.
In 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.
However a void* function must return a void*, otherwise compilers will complain:

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;;]

Therefore returning NULL seems reasonable.
As for the choice of NULL vs. nullptr or any other value, NULL is already widely used in the file.

Long story short: this fixes a compiler warning/error.


Other than that I fixed the indents on that function because it doesn't follow the same spacing as the rest of the file and therefore either that code or all other code in the file looked scuffed in any interface/editor. I can drop that commit if needed (it has a commit message with some context).

*pthread_create(3)* states that the ways for a pthread to exit includes:

> It returns from start_routine().  This is equivalent to calling pthread_exit(3) with the value supplied in the return statement.

This "retval" is a void pointer which can be anything.
In 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.
However a `void*` function must return a `void*`, otherwise compilers will complain:

> 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;;]

Therefore returning NULL seems reasonable.
As for the choice of NULL vs. nullptr or any other value, NULL is already widely used in the file.

Long story short: this fixes a compiler warning/error.

Signed-off-by: benaryorg <binary@benary.org>
I'm trying not to conjure a tabs vs. spaces debate here.
The indents were clearly 8 in width for the spaces lines, however the rest of the file is mostly 4 in width where indent is spaces.
Using hard tabs instead of soft tabs simply side-steps the entire "4 or 8" debate and also is an accessibility feature.

Signed-off-by: benaryorg <binary@benary.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant