* init.cc (search_for): Put this in shared section or suffer subtle problems

with the tls.
* pinfo.cc (status_exit): Add debug output to report on unexpected exit.
* tls_pbuf.cc (tmp_pathbuf::c_get): Add more details to internal error.
This commit is contained in:
Christopher Faylor 2010-12-12 05:48:29 +00:00
parent d7b90bae79
commit f646aeb049
4 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2010-12-12 Christopher Faylor <me+cygwin@cgf.cx>
* init.cc (search_for): Put this in shared section or suffer subtle
problems with the tls.
* pinfo.cc (status_exit): Add debug output to report on unexpected exit.
* tls_pbuf.cc (tmp_pathbuf::c_get): Add more details to internal error.
2010-12-09 Corinna Vinschen <corinna@vinschen.de> 2010-12-09 Corinna Vinschen <corinna@vinschen.de>
* autoload.cc (RETRY_COUNT): New define. * autoload.cc (RETRY_COUNT): New define.

View File

@ -16,7 +16,7 @@ details. */
static DWORD _my_oldfunc; static DWORD _my_oldfunc;
static char NO_COPY *search_for = (char *) cygthread::stub; static char *search_for __attribute__((section (".cygwin_dll_common"), shared)) = (char *) cygthread::stub;
unsigned threadfunc_ix[8] __attribute__((section (".cygwin_dll_common"), shared)); unsigned threadfunc_ix[8] __attribute__((section (".cygwin_dll_common"), shared));
static bool dll_finished_loading; static bool dll_finished_loading;

View File

@ -138,6 +138,7 @@ status_exit (DWORD x)
x = 127; x = 127;
break; break;
default: default:
debug_printf ("*** STATUS_%p\n", x);
x = 127; x = 127;
} }
return x; return x;

View File

@ -39,7 +39,7 @@ char *
tmp_pathbuf::c_get () tmp_pathbuf::c_get ()
{ {
if (tls_pbuf.c_cnt >= TP_NUM_C_BUFS) if (tls_pbuf.c_cnt >= TP_NUM_C_BUFS)
api_fatal ("Internal error: TP_NUM_C_BUFS too small."); api_fatal ("Internal error: TP_NUM_C_BUFS too small: %u > %u", tls_pbuf.c_cnt, TP_NUM_C_BUFS);
if (!tls_pbuf.c_buf[tls_pbuf.c_cnt] if (!tls_pbuf.c_buf[tls_pbuf.c_cnt]
&& !(tls_pbuf.c_buf[tls_pbuf.c_cnt] = (char *) malloc (NT_MAX_PATH))) && !(tls_pbuf.c_buf[tls_pbuf.c_cnt] = (char *) malloc (NT_MAX_PATH)))
api_fatal ("Internal error: Out of memory for new path buf."); api_fatal ("Internal error: Out of memory for new path buf.");