From c433f4617f61b37cee9f8f91372d64e3cbd03c48 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 16 Jun 2003 03:24:13 +0000 Subject: Throughout, remove "include " 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. --- winsup/cygwin/cygerrno.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/cygerrno.h') diff --git a/winsup/cygwin/cygerrno.h b/winsup/cygwin/cygerrno.h index 0c1513f25..fb00f3f1d 100644 --- a/winsup/cygwin/cygerrno.h +++ b/winsup/cygwin/cygerrno.h @@ -1,6 +1,6 @@ /* cygerrno.h: main Cygwin header file. - Copyright 2000 Red Hat, Inc. + Copyright 2000, 2001, 2002, 2003 Red Hat, Inc. This file is part of Cygwin. @@ -8,6 +8,8 @@ This software is a copyrighted work licensed under the terms of the Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */ +#include + void __stdcall seterrno_from_win_error (const char *file, int line, DWORD code) __attribute__ ((regparm(3))); void __stdcall seterrno (const char *, int line) __attribute__ ((regparm(2))); int __stdcall geterrno_from_win_error (DWORD code, int deferrno) __attribute__ ((regparm(2))); @@ -16,12 +18,12 @@ int __stdcall geterrno_from_win_error (DWORD code, int deferrno) __attribute__ ( #define __seterrno_from_win_error(val) seterrno_from_win_error (__FILE__, __LINE__, val) #ifndef DEBUGGING -#define set_errno(val) (_impure_ptr->_errno = (val)) +#define set_errno(val) (errno = (val)) #else int __stdcall __set_errno (const char *ln, int ln, int val) __attribute ((regparm(3))); #define set_errno(val) __set_errno (__PRETTY_FUNCTION__, __LINE__, (val)) #endif -#define get_errno() (_impure_ptr->_errno) +#define get_errno() (errno) extern "C" void __stdcall set_sig_errno (int e); class save_errno -- cgit v1.2.3