* thread.cc (thread_init_wrapper): Use _REENT_INIT to initialize the reent
structure of newlib. * sigproc.h (sig_send): Add exception parameter to sig_send. * sigproc.cc (sig_send): Ditto. Use it when setting frame info. * exceptions.cc (handle_exceptions): Use exception flag when calling sig_send.
This commit is contained in:
@@ -737,7 +737,7 @@ thread_init_wrapper (void *_arg)
|
||||
pthread *thread = (pthread *) _arg;
|
||||
struct __reent_t local_reent;
|
||||
struct _winsup_t local_winsup;
|
||||
struct _reent local_clib;
|
||||
struct _reent local_clib = _REENT_INIT(local_clib);
|
||||
|
||||
struct sigaction _sigs[NSIG];
|
||||
sigset_t _sig_mask; /* one set for everything to ignore. */
|
||||
@@ -748,14 +748,8 @@ thread_init_wrapper (void *_arg)
|
||||
thread->sigmask = &_sig_mask;
|
||||
thread->sigtodo = _sigtodo;
|
||||
|
||||
memset (&local_clib, 0, sizeof (struct _reent));
|
||||
memset (&local_winsup, 0, sizeof (struct _winsup_t));
|
||||
|
||||
local_clib._errno = 0;
|
||||
local_clib._stdin = &local_clib.__sf[0];
|
||||
local_clib._stdout = &local_clib.__sf[1];
|
||||
local_clib._stderr = &local_clib.__sf[2];
|
||||
|
||||
local_reent._clib = &local_clib;
|
||||
local_reent._winsup = &local_winsup;
|
||||
|
||||
|
Reference in New Issue
Block a user