Throughout, remove "include <errno.h>" from files which already include
cygerrno.h. * include/cygwin/config.h (__DYNAMIC_REENT__): Define. * include/cygwin/version.h: Bump API minor version. * cygwin.din: Export __getreent * cygerrno.h: Include errno.h. Fix places where _impure_ptr is used directly to store the errno value. * debug.cc (__set_errno): Ditto. * errno.cc: Remove _RRENT_ONLY define to get errno.cc compiled. * signal.cc: Rename _reent_clib to _REENT throughout. * thread.h (reent_clib): Remove prototype. * thread.cc (reent_clib): Rename reent_clib to __getreent. Return _impure_ptr until MTinterface is initialized. (reent_winsup): Fix a possible SEGV when _r == NULL. Return NULL instead. * MTinterface::fixup_after_fork: Switch reent back to _impure_ptr to keep signal handling running when fork is called from a thread other than the mainthread.
This commit is contained in:
@ -12,7 +12,6 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
details. */
|
||||
|
||||
#include "winsup.h"
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include "cygerrno.h"
|
||||
#include <sys/cygwin.h>
|
||||
@ -297,8 +296,8 @@ abort (void)
|
||||
be flushed.
|
||||
However this is the way FreeBSD does it, and it is much easier to
|
||||
do things this way, so... */
|
||||
if (_reent_clib ()->__cleanup)
|
||||
_reent_clib ()->__cleanup (_reent_clib ());
|
||||
if (_REENT->__cleanup)
|
||||
_REENT->__cleanup (_REENT);
|
||||
|
||||
/* Ensure that SIGABRT can be caught regardless of blockage. */
|
||||
sigset_t sig_mask;
|
||||
|
Reference in New Issue
Block a user