On 7/22/20 1:34 AM, Doug Nazar wrote: > Signed-off-by: Doug Nazar <nazard@xxxxxxxx> > --- > src/mt_misc.c | 17 +++++++++++++++++ > tirpc/reentrant.h | 1 + > 2 files changed, 18 insertions(+) > > diff --git a/src/mt_misc.c b/src/mt_misc.c > index 5a49b78..020b55d 100644 > --- a/src/mt_misc.c > +++ b/src/mt_misc.c > @@ -151,3 +151,20 @@ void tsd_key_delete(void) > return; > } > > +static pthread_t main_thread_id; > + > +__attribute__((constructor)) > +static void > +get_thread_id(void) > +{ > + /* This will only work if we're opened by the main thread. > + * Shouldn't be a problem in practice since we expect to be > + * linked against, not dlopen() from a random thread. > + */ > + main_thread_id = pthread_self(); > +} > + > +int thr_main(void) > +{ > + return pthread_equal(main_thread_id, pthread_self()); > +} > diff --git a/tirpc/reentrant.h b/tirpc/reentrant.h > index 5bb581a..ee65454 100644 > --- a/tirpc/reentrant.h > +++ b/tirpc/reentrant.h > @@ -76,4 +76,5 @@ > #define thr_self() pthread_self() > #define thr_exit(x) pthread_exit(x) > > +extern int thr_main(void); > #endif > Again... why is this needed? Your description part of these patches are a bit thin ;-) steved.