In pthread_exit
, ret
is an input parameter. You are simply passing the address of a variable to the function.
In pthread_join
, ret
is an output parameter. You get back a value from the function. Such value can, for example, be set to NULL
.
Long explanation:
In pthread_join
, you get back the address passed to pthread_exit
by the finished thread. If you pass just a plain pointer, it is passed by value so you can’t change where it is pointing to. To be able to change the value of the pointer passed to pthread_join, it must be passed as a pointer itself, that is, a pointer to a pointer.
Related Posts:
- Undefined reference to pthread_create in Linux
- Undefined reference to pthread_create
- Program received signal SIGPIPE, Broken pipe
- PTHREAD_MUTEX_INITIALIZER vs pthread_mutex_init ( &mutex, param)
- Can I get Unix’s pthread.h to compile in Windows?
- How big can a 64 bit unsigned integer be?
- The difference between n++ and ++n at the end of a while loop? (ANSI C)
- Implementing Taylor Series for sine and cosine in C
- Working on code to calculate cosine with factorial sum
- How to use execvp()
- How to use execvp() to execute a command
- What is a mutex?
- How does strtok() split the string into tokens in C?
- warning: implicit declaration of function
- warning: implicit declaration of function
- What is a race condition?
- What is *(uint32_t*)?
- what is Segmentation fault (core dumped)? [duplicate]
- What causes a segmentation fault (core dump) to occur in C?
- uint8_t vs unsigned char
- How to use symbols of extended ASCII table in C?
- What’s the difference between deadlock and livelock?
- Two questions about basic C programs
- What is the difference between ++i and i++?
- Using boolean values in C
- What does “collect2: error: ld returned 1 exit status” mean?
- How to convert an int to string in C?
- typedef struct vs struct definitions [duplicate]
- How to print in C
- Why should we typedef a struct so often in C?
- What is a string of hexadecimal digits?
- Why should we typedef a struct so often in C?
- What exactly is the difference between “pass by reference” in C and in C++?
- What is the difference between ++i and i++?
- What can be the reasons of connection refused errors?
- What does “collect2: error: ld returned 1 exit status” mean?
- How to convert an int to string in C?
- typedef struct vs struct definitions [duplicate]
- What is newline character — ‘\n’
- Why does ENOENT mean “No such file or directory”?
- What does the question mark character (‘?’) mean?
- Cannot figure out how to use getchar(); in C
- Floating point exception (core dumped)
- what is the difference between uint16_t and unsigned short int incase of 64 bit processor?
- makefile:4: *** missing separator. Stop
- Stack smashing detected
- Why am I getting “void value not ignored as it ought to be”?
- Correct format specifier for double in printf
- Stack smashing detected
- How do I determine the size of my array in C?
- Why am I getting “void value not ignored as it ought to be”?
- Mutex example / tutorial? [closed]
- Pointer Arithmetic
- dereferencing pointer to incomplete type
- 1 = false and 0 = true?
- c stack smashing detected
- Openssl : error “self signed certificate in certificate chain”
- How to convert a string to integer in C?
- What is the difference between C and embedded C?
- Get a substring of a char* [duplicate]
- char *array and char array[]
- How do I create an array of strings in C?
- What is the behavior of integer division?
- Convert char to int in C and C++
- Get a substring of a char*
- Difference between malloc and calloc?
- What is Bit Masking?
- How do function pointers in C work?
- Expression must be a modifiable L-value
- What causes the Broken Pipe Error?
- segmentation fault : 11
- Strings and character with printf
- What is the meaning of the term “thread-safe”?
- Awesomium sdk download
- What is EOF in the C programming language?
- What are .a and .so files?
- Why does the terminal show “^[[A” “^[[B” “^[[C” “^[[D” when pressing the arrow keys in Ubuntu?
- So what does “return 0” actually mean?
- “Expected expression before ‘ { ‘ token”
- Bad File Descriptor with Linux Socket write() Bad File Descriptor C
- How to generate a random int in C?
- How do I use valgrind to find memory leaks?
- C pointers and arrays: [Warning] assignment makes pointer from integer without a cast
- Why is the gets function so dangerous that it should not be used?
- Write to .txt file?
- What is the difference between char s[] and char *s?
- warning: assignment makes integer from pointer without a cast
- How to print the array?
- How to solve the error: assignment to expression with array type
- segmentation fault : 11
- Why use bzero over memset?
- Reading from file using read() function
- What is the difference between ++i and i++?
- What does “collect2: error: ld returned 1 exit status” mean?
- What does “1e” mean?
- warning: assignment makes integer from pointer without a cast
- munmap_chunk(): invalid pointer
- printf() formatting for hexadecimal
- Warning comparison between pointer and integer
- how to use uint64_t in C [duplicate]