The retval parameter to pthread_join() is a pointer to a pointer.
aio-stress is passing in a pointer to an int. This can result in a bus
error on sparc64 when the pointer is not aligned on a 64-bit boundary.
Since the return value is not used, it is simplest to pass a NULL
pointer instead.
This has been fixed in the LTP source:
https://github.com/linux-test-project/ltp/commit/
981d33aad3b33c4625b88990fbf2fad5470d47e0
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
int run_workers(struct thread_info *t, int num_threads)
{
int ret;
- int thread_ret;
int i;
for(i = 0 ; i < num_threads ; i++) {
}
}
for(i = 0 ; i < num_threads ; i++) {
- ret = pthread_join(t[i].tid, (void *)&thread_ret);
+ ret = pthread_join(t[i].tid, NULL);
if (ret) {
perror("pthread_join");
exit(1);