Page MenuHomeFreeBSD

D61213.1793978856.diff
No OneTemporary

Authored By
Unknown
Size
868 B
Referenced Files
None
Subscribers
None

D61213.1793978856.diff

diff --git a/lib/libthr/thread/thr_once.c b/lib/libthr/thread/thr_once.c
--- a/lib/libthr/thread/thr_once.c
+++ b/lib/libthr/thread/thr_once.c
@@ -46,7 +46,7 @@
* if init_routine is a cancellation point and is canceled, the effect
* on once_control shall be as if pthread_once() was never called.
*/
-
+
static void
once_cancel_handler(void *arg)
{
@@ -88,7 +88,7 @@
NULL, 0);
} else
return (EINVAL);
- }
+ }
curthread = _get_curthread();
THR_CLEANUP_PUSH(curthread, once_cancel_handler, once_control);
diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h
--- a/lib/libthr/thread/thr_private.h
+++ b/lib/libthr/thread/thr_private.h
@@ -943,7 +943,7 @@
static inline void
_thr_check_init(void)
{
- if (_thr_initial == NULL)
+ if (__predict_false(_thr_initial == NULL))
_libpthread_init(NULL);
}

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 6, 3:27 PM (19 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41522792
Default Alt Text
D61213.1793978856.diff (868 B)

Event Timeline