Currently the test calls dlclose in the thread
concurrently with the main thread calling a function
from the dynamic library. This is not good.
Wait for the main thread to call the function
before calling dlclose.
Depends on D115612.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D115613
barrier_wait(&barrier);
if (__atomic_load_n(&ready, __ATOMIC_ACQUIRE))
func();
+ barrier_wait(&barrier);
if (dlclose(lib)) {
printf("error in dlclose: %s\n", dlerror());
exit(1);
__atomic_store_n(&ready, 1, __ATOMIC_RELEASE);
barrier_wait(&barrier);
func();
+ barrier_wait(&barrier);
pthread_join(th, 0);
fprintf(stderr, "DONE\n");
return 0;