int s, r;
- if (!threads_started) {
+ if (NSECTIONS>1 && !threads_started) {
r= pthread_barrier_init(&threads_barrier, 0, NSECTIONS);
if (r) { errno=r; diee("pthread_barrier_init"); }
}
void inparallel_barrier(void) {
- 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"); }
+ }
}