* cygthread.h (cygthread::cygthread): Reorganize slightly.
* dcrt0.cc (dll_crt0_0): Move sigproc initialization later to ensure everything we need has been set up. (dll_crt0_1): Streamline some logic slightly. * sigproc.cc (no_signals_available): Add back dropped test for macro parameter. * fhandler_console.cc (fhandler_console::write): Show a little bit of what's being written to the console in debugging output.
This commit is contained in:
parent
18df393573
commit
6c6eb02b33
|
@ -1,3 +1,14 @@
|
|||
2010-09-12 Christopher Faylor <me+cygwin@cgf.cx>
|
||||
|
||||
* cygthread.h (cygthread::cygthread): Reorganize slightly.
|
||||
* dcrt0.cc (dll_crt0_0): Move sigproc initialization later to ensure
|
||||
everything we need has been set up.
|
||||
(dll_crt0_1): Streamline some logic slightly.
|
||||
* sigproc.cc (no_signals_available): Add back dropped test for macro
|
||||
parameter.
|
||||
* fhandler_console.cc (fhandler_console::write): Show a little bit of
|
||||
what's being written to the console in debugging output.
|
||||
|
||||
2010-09-12 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* syscalls.cc (start_transaction): Make inline function. Move up to be
|
||||
|
|
|
@ -43,7 +43,8 @@ class cygthread
|
|||
void auto_release () {func = NULL;}
|
||||
void release (bool);
|
||||
cygthread (LPTHREAD_START_ROUTINE start, unsigned n, LPVOID param, const char *name, HANDLE notify = NULL)
|
||||
: __name (name), func (start), arglen (n), arg (param), notify_detached (notify), standalone (false)
|
||||
: __name (name), func (start), arglen (n), arg (param),
|
||||
notify_detached (notify), standalone (false)
|
||||
{
|
||||
create ();
|
||||
}
|
||||
|
@ -57,7 +58,8 @@ class cygthread
|
|||
zap_h ();
|
||||
}
|
||||
cygthread (LPTHREAD_START_ROUTINE start, LPVOID param, const char *name, HANDLE notify = NULL)
|
||||
: __name (name), func (start), arglen (0), arg (param), notify_detached (notify), standalone (false)
|
||||
: __name (name), func (start), arglen (0), arg (param),
|
||||
notify_detached (notify), standalone (false)
|
||||
{
|
||||
create ();
|
||||
}
|
||||
|
|
|
@ -740,12 +740,6 @@ dll_crt0_0 ()
|
|||
}
|
||||
}
|
||||
|
||||
/* Initialize signal processing here, early, in the hopes that the creation
|
||||
of a thread early in the process will cause more predictability in memory
|
||||
layout for the main thread. */
|
||||
if (!dynamically_loaded)
|
||||
sigproc_init ();
|
||||
|
||||
user_data->threadinterface->Init ();
|
||||
|
||||
_cygtls::init ();
|
||||
|
@ -777,6 +771,12 @@ dll_crt0_0 ()
|
|||
disable_dep ();
|
||||
#endif
|
||||
|
||||
/* Initialize signal processing here, early, in the hopes that the creation
|
||||
of a thread early in the process will cause more predictability in memory
|
||||
layout for the main thread. */
|
||||
if (!dynamically_loaded)
|
||||
sigproc_init ();
|
||||
|
||||
debug_printf ("finished dll_crt0_0 initialization");
|
||||
}
|
||||
|
||||
|
@ -940,25 +940,21 @@ dll_crt0_1 (void *)
|
|||
for (unsigned int i = PREMAIN_LEN / 2; i < PREMAIN_LEN; i++)
|
||||
user_data->premain[i] (__argc, __argv, user_data);
|
||||
|
||||
debug_printf ("user_data->main %p", user_data->main);
|
||||
set_errno (0);
|
||||
|
||||
if (dynamically_loaded)
|
||||
{
|
||||
set_errno (0);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
||||
/* Disable case-insensitive globbing */
|
||||
ignore_case_with_glob = false;
|
||||
|
||||
set_errno (0);
|
||||
|
||||
MALLOC_CHECK;
|
||||
cygbench (__progname);
|
||||
|
||||
ld_preload ();
|
||||
/* Per POSIX set the default application locale back to "C". */
|
||||
_setlocale_r (_REENT, LC_CTYPE, "C");
|
||||
|
||||
if (user_data->main)
|
||||
cygwin_exit (user_data->main (__argc, __argv, *user_data->envptr));
|
||||
__asm__ (" \n\
|
||||
|
|
|
@ -1987,7 +1987,7 @@ fhandler_console::write (const void *vsrc, size_t len)
|
|||
}
|
||||
}
|
||||
|
||||
syscall_printf ("%d = fhandler_console::write (,..%d)", len, len);
|
||||
syscall_printf ("%d = fhandler_console::write (\".20s\")", len, vsrc);
|
||||
|
||||
return len;
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ details. */
|
|||
#define WSSC 60000 // Wait for signal completion
|
||||
#define WPSP 40000 // Wait for proc_subproc mutex
|
||||
|
||||
#define no_signals_available(x) (!my_sendsig ||( myself->exitcode & EXITCODE_SET) || (&_my_tls == _sig_tls) || !cygwin_finished_initializing)
|
||||
#define no_signals_available(x) (!my_sendsig || ((x) && myself->exitcode & EXITCODE_SET) || (&_my_tls == _sig_tls))
|
||||
|
||||
#define NPROCS 256
|
||||
|
||||
|
|
Loading…
Reference in New Issue