Print this page
Thread safety fixes.

*** 46,56 **** "no" /* nostr */ }; struct locdata __posix_messages_locdata = { .l_lname = "C", - .l_refcnt = (uint32_t)-1, .l_data = { &lc_messages_posix } }; struct locdata * __lc_messages_load(const char *name) --- 46,55 ----
*** 66,76 **** ret = __part_load_locale(name, (char **)&ldata->l_data[1], "LC_MESSAGES", LCMESSAGES_SIZE_FULL, LCMESSAGES_SIZE_MIN, (const char **)lmsgs); if (ret != _LDP_LOADED) { ! __locdata_release(ldata); errno = EINVAL; return (NULL); } if (lmsgs->yesstr == NULL) --- 65,75 ---- ret = __part_load_locale(name, (char **)&ldata->l_data[1], "LC_MESSAGES", LCMESSAGES_SIZE_FULL, LCMESSAGES_SIZE_MIN, (const char **)lmsgs); if (ret != _LDP_LOADED) { ! __locdata_free(ldata); errno = EINVAL; return (NULL); } if (lmsgs->yesstr == NULL)