r= pthread_barrier_init(&threads_barrier, 0, NSECTIONS);
if (r) { errno=r; diee("pthread_barrier_init"); }
r= pthread_barrier_init(&threads_barrier, 0, NSECTIONS);
if (r) { errno=r; diee("pthread_barrier_init"); }
- int r;
- r= pthread_barrier_wait(&threads_barrier);
- if (r && r!=PTHREAD_BARRIER_SERIAL_THREAD)
- { errno=r; diee("pthread_barrier_wait"); }
+ if (NSECTIONS>1) {
+ int r;
+ r= pthread_barrier_wait(&threads_barrier);
+ if (r && r!=PTHREAD_BARRIER_SERIAL_THREAD)
+ { errno=r; diee("pthread_barrier_wait"); }
+ }