[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Patch libpthread_globsigdisp



I am aware that eglibc is the proper place to send this, however this patch was
probably submitted here, so I will ask this question here.

In the patch _hurd_sigstate_delete for the thread is called in
__pthread_thread_halt (sysdeps/mach/pt-thread-halt.c). My question is:

why it is not called in __pthread_sigstate_destroy
(sysdeps/mach/hurd/pt-sigstate-destroy.c)? That would seem to be
the proper place for it.

My concern is this: __pthread_thread_halt is generally called twice for a
given thread: once by the thread itself in pthread_exit, the second time by
another thread in either pthread_join, pthread_detach, or __pthread_alloc.
I don't, however, know the result for calling _hurd_sigstate_delete twice on
a thread: it cannot be bad or the patch would never have been submitted.

I just feel that the call should be made once for the thread, which is what
the code has the structure for: in __pthread_sigstate_destroy, which a
thread calls on itself in pthread_exit.

I'm sorry if I am nit-picking. The patch came up as a problem source
in the move of the hurd to pthreads (the patch itself isn't the problem,
but its consequences introduce a problem).

Thomas D.


Reply to: