Browse Source

hide __pthread_once_full symbol

this is a special case that does not need a declaration, because it's
not even a libc-internal interface between translation units. instead
it's a poor hack around compilers' inability to shrink-wrap critical
code paths. after vis.h was disabled, it became more of a
pessimization on many archs due to the extra layer of machinery to
support a call through the PLT, but now it should be efficient again.
master
Rich Felker 8 years ago
parent
commit
a60d579f5e
  1. 2
      src/thread/pthread_once.c

2
src/thread/pthread_once.c

@ -8,7 +8,7 @@ static void undo(void *control)
__wake(control, -1, 1); __wake(control, -1, 1);
} }
int __pthread_once_full(pthread_once_t *control, void (*init)(void)) hidden int __pthread_once_full(pthread_once_t *control, void (*init)(void))
{ {
/* Try to enter initializing state. Four possibilities: /* Try to enter initializing state. Four possibilities:
* 0 - we're the first or the other cancelled; run init * 0 - we're the first or the other cancelled; run init

Loading…
Cancel
Save