typedef struct {
        int     maxcnt;                 /* maximum number of runners    */
        struct _sb {
                cond_t  wait_cv;        /* cv for waiters at barrier    */
                mutex_t wait_lk;        /* mutex for waiters at barrier */
                int     runners;        /* number of running threads    */
        } sb[2];
        struct _sb      *sbp;           /* current sub-barrier          */
} barrier_t;