diff options
Diffstat (limited to 'lib/frr_pthread.h')
-rw-r--r-- | lib/frr_pthread.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/frr_pthread.h b/lib/frr_pthread.h index 1e1b8d7..bb751b7 100644 --- a/lib/frr_pthread.h +++ b/lib/frr_pthread.h @@ -47,6 +47,17 @@ struct frr_pthread { struct frr_pthread_attr attr; /* + * Startup serialization: newly-started pthreads wait at a point + * very early in life so that there isn't a race with the + * starting pthread. The OS 'start' apis don't make any guarantees + * about which pthread runs first - the existing pthread that has + * called the 'start' api, or the new pthread that is just starting. + */ + pthread_cond_t startup_cond; + pthread_mutex_t startup_cond_mtx; + atomic_bool started; + + /* * Notification mechanism for allowing pthreads to notify their parents * when they are ready to do work. This mechanism has two associated * functions: |