Revert "Revert "More pthreads cleanup.""

This reverts commit 6f94de3ca4

(Doesn't try to increase the number of TLS slots; that leads to
an inability to boot. Adds more tests.)

Change-Id: Ia7d25ba3995219ed6e686463dbba80c95cc831ca
This commit is contained in:
Elliott Hughes
2013-02-12 16:40:24 +00:00
parent fcaf4e9f9b
commit 3e898476c7
18 changed files with 391 additions and 293 deletions

View File

@@ -7,6 +7,8 @@
#include <stdio.h>
#include <string.h>
#include "private/ErrnoRestorer.h"
struct Pair {
int code;
const char* msg;
@@ -42,7 +44,7 @@ extern "C" __LIBC_HIDDEN__ const char* __strsignal_lookup(int signal_number) {
}
int strerror_r(int error_number, char* buf, size_t buf_len) {
int saved_errno = errno;
ErrnoRestorer errno_restorer;
size_t length;
const char* error_name = __strerror_lookup(error_number);
@@ -52,11 +54,10 @@ int strerror_r(int error_number, char* buf, size_t buf_len) {
length = snprintf(buf, buf_len, "Unknown error %d", error_number);
}
if (length >= buf_len) {
errno = ERANGE;
errno_restorer.override(ERANGE);
return -1;
}
errno = saved_errno;
return 0;
}