I'm writing a threading program, and the pthread_create method requires a void* function.
I'm getting the "control reaches end of non-void function" warning, and I understand why (because I don't have any official return statement)- my question is really just what should I return in this case?
Is it alright to just return NULL? I don't think my return value will affect anything else in my program, but I am just wondering what the standard is for avoiding this warning when programming with multithreaded programs.
Returning NULL
is fine, and is the normal way. Nothing will use the return value unless you write code to use it. NULL
is a valid value for void *
, and if you don't care what that value is, then the only thing that matters is that it's a valid one.
try something like this:
#include <pthread.h>
void* you_func( void* param ) {
// do stuff here ...
// and terminates as follows:
pthread_exit( NULL );
}
hope that helps you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With