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 to use execvp()
- How to use execvp() to execute a command
- How does strtok() split the string into tokens in C?
- what is Segmentation fault (core dumped)? [duplicate]
- uint8_t vs unsigned char
- 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
- What can be the reasons of connection refused errors?
- 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
- makefile:4: *** missing separator. Stop
- Mutex example / tutorial? [closed]
- c stack smashing detected
- Convert char to int in C and C++
- What is Bit Masking?
- segmentation fault : 11
- Strings and character with printf
- What is the meaning of the term “thread-safe”?
- What are .a and .so files?
- Why is the gets function so dangerous that it should not be used?
- What does “collect2: error: ld returned 1 exit status” mean?
- Warning comparison between pointer and integer
- Using ssize_t vs int
- Why a warning of “control reaches end of non-void function” for the main function?
- How to print pthread_t
- How do I use extern to share variables between source files?
- Cannot assign requested address – possible causes?
- Invalid read of size 8 – Valgrind + C
- error: called object is not a function or function pointer
- munmap_chunk(): invalid pointer
- C read file line by line
- No Symbol Table using GDB on Compiled Programs
- What is char ** in C?
- What is a bus error? Is it different from a segmentation fault?
- Get the current time in C
- where does stdio.o live in linux machine?
- What’s the equivalent of new/delete of C++ in C?
- sizeof float (3.0) vs (3.0f)
- Get text from user input using C
- Using Dynamic Memory allocation for arrays
- How to trigger SIGUSR1 and SIGUSR2?
- How do I lowercase a string in C?
- warning: expression result unused
- conflicting types error when compiling c program using gcc
- Get the current time in C
- error: indirection requires pointer operand (‘int’ invalid)
- What is a file with extension .a?
- What is the difference between exit(0) and exit(1) in C?
- error: indirection requires pointer operand (‘int’ invalid)
- Finding the length of a Character Array in C
- Return char[]/string from a function
- Valgrind: Invalid read of size 1
- How to print a char array in C through printf?
- How to clear all the elements of array in C?
- Zero an array in C code
- Excess elements in char array initializer error
- Encrypt with private key and decrypt with public key
- pthread sleep linux
- strcmp giving segmentation fault
- What does “pointer being freed was not allocated” mean exactly?
- How to use timer in C?
- C char* to int conversion
- What is the difference between stdin and STDIN_FILENO?
- char pointers: invalid conversion from ‘char*’ to ‘char’?
- Allocating string with malloc
- How to simply convert a float to a string in c?
- What is the difference between char array and char pointer in C?
- hash function for string
- What happens during a “relocation has invalid symbol index” error?
- Still Reachable Leak detected by Valgrind
- What are .axf files?
- Error: “Access not within mapped region at address” (Valgrind)
- printf format specifiers for uint32_t and size_t
- How to convert string to float?
- What is an simple example of copy_from_user
- Why PTHREAD_COND_INITIALIZER may be used to initialize a condition variable only when it is declared?
- What is `S_ISREG()`, and what does it do?
- typedef struct pointer definition
- How does the fscanf function work?
- Math constant PI value in C
- The code does not execute properly. Try to figure out why
- ld.exe: cannot open output file … : Permission denied
- How to read from input until newline is found using scanf()?
- getline() vs. fgets(): Control memory allocation
- What is char ** in C? [duplicate]
- segmentation fault using scanf
- Segmentation fault- strcat
- How to Compare 2 Character Arrays [duplicate]
- segmentation fault with strcpy [duplicate]