Commit Graph

3970 Commits

Author SHA1 Message Date
Robert Collins f1f1379560 2002-09-17 Robert Collins <rbtcollins@hotmail.com>
This work inspires by Thomas Pfaff's pthread_fork patch (1).
        * fork.cc (fork_child): Remove MTinterface fixup call, it's
        adsorbed by pthread::atforkchild.
        Rename __pthread_atforkchild to pthread::atforkchild to give
        access to private members.
        (fork_parent): Rename __pthread_atforkparent to
        pthread::atforkparent to give it access to private members.
        Ditto for __pthread_atforkprepare.
        * thread.cc: Fix some formatting problems throughout.
        (MTinterface::fixup_before_fork): Implement.
        (MTinterface::fixup_after_fork): Fix pthread_keys.
        (pthread_key::keys): Implement.
        (pthread_key::fixup_before_fork): Ditto.
        (pthread_key::fixup_after_fork): Ditto.
        (pthread_key::pthread_key): Add to pthread_key::keys.
        (pthread_key::~pthread_key): Remove from pthread_key::keys.
        (pthread_key::saveKeyToBuffer): Implement.
        (pthread_key::recreateKeyFromBuffer): Ditto.
        (pthread::atforkprepare): Prepare all MT classes for fork.
        (pthread::atforkchild): And fix them up afterwards.
        * thread.h (pthread_key): Buffer the key value during
        fork in fork_buf.
        List the keys needing to be fixed up in a linked list with
        head pthread_key::keys.
        (pthread): Move atfork cygwin internal calls into the class.
        (MTInterface): Provide a fixup_before_fork for objecst that
        need to save state.
        (__pthread_atforkprepare): Remove.
        (__pthread_atforkparent): Remove.
        (__pthread_atforkchild): Remove.
2002-09-17 09:12:36 +00:00
Danny Smith cbb704cf60 * include/shlobj.h (SHGetSpecialFolderPath[AW]): Add _WIN32_IE guard.
Correct prototype for wide version.
	(SHGetFolderPath): Add comment on shfolder.dll library.
	(SHGetFolderLocation): Add prototyope for WinME and W2K.
	(SHGetFolderPathAndSubDir[AW]): Add prototypes for XP.
2002-09-17 03:08:11 +00:00
Jeff Johnston 9211a1adec 2002-09-16 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/wchar.h (mbstate_t): Change protective flag to
        be _MBSTATE_T.
        * libc/include/sys/_types.h (_mbstate_t): Remove protective flag.
        [__CYGWIN__]: Remove special code that defines mbstate_t and WEOF
        for Cygwin.
        * libc/sys/linux/sys/_types.h (_mbstate_t): Remove protective flag.
2002-09-16 18:55:25 +00:00
Christopher Faylor d04cf16c52 * init.cc: Cleanup slightly and remove obsolete code. 2002-09-16 16:09:54 +00:00
Robert Collins 4e78617321 2002-09-11 Robert Collins <rbtcollins@hotmail.com>
* init.cc (dll_entry): On thread detach, if the thread hasn't
        exit()ed, do so.
        * pthread.cc (pthread_getsequence_np): Remove the
        __pthread_getsequence_np wrapper. This requires errno.h.
        * thread.cc (pthread::self): Instantiate a new pthread object
        when called and none exists. return a NULL object if instantiation
        fails.
        (pthread::precreate): Factor out common code.
        (pthread::postcreate): Ditto.
        (pthread::create): Ditto.
        (pthread::exit): Remove the TLS value when we exit to prevent
        double exits.
        (MTinterface::Init): Bugfix - don't mark the TLS index as created
        if one was not allocated.
        Apply Extract Method to move pthread specific initialisation into
        pthread.
        (pthread::initMainThread): Extracted method from MTinterface::Init.
        (pthread::setTlsSelfPointer): Extracted method from various pthread
        calls, to make reading those functions easier.
        (pthread::setThreadIdtoCurrent): Ditto.
        (pthread::cancel_self): Bring into the .cc file, it's only used
        within the class.
        (pthread::getThreadId): Ditto.
        (pthread::thread_init_wrapper): Apply Extract Method to the TLS
        setting logic.
        (pthread::isGoodObject): Extracted method from various pthread
        wrapper calls, for clarity of reading.
        (pthread::getsequence_np): Converted from __pthread_getsquence_np.
        (__pthread_create): Apply Extract Method to the object validation.
        (__pthread_cancel): Ditto.
        (__pthread_join): Ditto.
        (__pthread_detach): Ditto.
        (__pthread_suspend): Ditto.
        (__pthread_continue): Ditto.
        (__pthread_getschedparam): Ditto.
        (__pthread_getsequence_np): Remove.
        (__pthread_setschedparam): Apply Extract Method to the object
        validation.
        (pthreadNull::getNullpthread): New method, return the pthreadNull
        object.
        (pthreadNull::pthreadNull): Private constructor to prevent accidental
        use.
        (pthreadNull::~pthreadNull): Prevent compile warnings.
        (pthreadNull::create): Override pthread behaviour.
        (pthreadNull::exit): Ditto.
        (pthreadNull::cancel): Ditto.
        (pthreadNull::testcancel): Ditto.
        (pthreadNull::setcancelstate): Ditto.
        (pthreadNull::setcanceltype): Ditto.
        (pthreadNull::push_cleanup_handler): Ditto.
        (pthreadNull::pop_cleanup_handler): Ditto.
        (pthreadNull::getsequence_np): Ditto.
        (pthreadNull::_instance): Ditto.
        * thread.h (pthread): Declare pre- and post-create.
        Move GetThreadId to private scope and rename to getThreadId.
        Move setThreadIdtoCurrent to private scope.
        Make create virtual.
        Make ~pthread virtual.
        Declare initMainThread.
        Declare isGoodObject.
        Make exit virtual.
        Make cancel virtual.
        Make testcancel virtual.
        Make setcancelstate virtual.
        Make setcanceltype virtual.
        Make push_cleanup_handler virtual.
        Make pop_cleanup_handler virtual.
        Declare getsequence_np.
        Declare setTlsSelfPointer.
        (pthreadNull): New null object class for pthread.
        (__pthread_getsequence_np): Remove.
2002-09-16 10:53:29 +00:00
Danny Smith 0812076923 * lib/shell32.def (SHGetFolderPath[AW]): Add comment.
* lib/shfolder.def: New file.
2002-09-16 10:28:16 +00:00
Danny Smith fbf3d133ce 2002-09-16 Ranjit Matthew <rmathew@hotmail.com>
* include/stdio.h: Correct comment about directory separator.
2002-09-16 09:44:06 +00:00
Joshua Daniel Franklin 98467dae59 Add final newlines to utils 2002-09-15 19:24:37 +00:00
Joshua Daniel Franklin 9b566b9695 2002-09-12 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* cygpath.cc (options) New global variable.
	(main) Make short options global for easier change.
	(print_version) Add a missing newline.
2002-09-15 15:19:49 +00:00
Christopher Faylor 53217744a3 fix typo 2002-09-13 13:05:52 +00:00
Christopher Faylor 3e6ae531dd fix typo 2002-09-13 13:01:28 +00:00
Corinna Vinschen 8934e4707d * syscalls.cc (seteuid32): Treat ILLEGAL_UID invalid.
(setegid32): Treat ILLEGAL_GID invalid.
2002-09-13 09:00:28 +00:00
Nick Clifton a38b141548 Import chnages from master config repository. 2002-09-12 15:59:37 +00:00
Nick Clifton a7d222032b Handle DW_OP_GNU_push_tls_address.
Synch up with the gcc's dwarf2.h
2002-09-12 10:35:53 +00:00
Danny Smith 139b31f7ac * include/sys/time.h (timeval): Add struct definition and
associated macros (copied from w32api/include/winsock.h).
2002-09-12 10:34:54 +00:00
Danny Smith 3f7b89caf1 * include/winsock.h (timeval): Guard struct and associated
macros with _TIMEVAL_DEFINED.
	* include/winsock2.h (timeval): Likewise.
2002-09-12 10:11:05 +00:00
Jeff Johnston a861509239 2002-09-11 Jeff Johnston <jjohnstn@redhat.com>
* acinclude.m4 (enable-newlib-mb): Change check to
        default newlib_mb variable to empty string rather than "no".
        * configure.host: Remove hard-coding of -DMB_CAPABLE for
        x86-linux and Cygwin.  Add code to check for newlib_mb
        being unset in which case set to "yes" for x86-linux and
        Cygwin.  Change check for newlib_mb being "yes" to allow
        for an empty string.
        * configure.in (_MB_LEN_MAX): New AC_DEFINE.
        * newlib.hin (_MB_LEN_MAX): New define to configure.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * libc/include/limits.h: New file.
        * libc/sys/linux/include/limits.h: Ditto.
        * doc/aclocal.m4 doc/configure libc/aclocal.m4
          libc/configure libc/machine/aclocal.m4
          libc/machine/configure libc/machine/a29k/aclocal.m4
          libc/machine/a29k/configure libc/machine/arm/aclocal.m4
          libc/machine/arm/configure libc/machine/d10v/aclocal.m4
          libc/machine/d10v/configure libc/machine/d30v/aclocal.m4
          libc/machine/d30v/configure libc/machine/fr30/aclocal.m4
          libc/machine/fr30/configure libc/machine/frv/aclocal.m4
          libc/machine/frv/configure libc/machine/h8300/aclocal.m4
          libc/machine/h8300/configure libc/machine/h8500/aclocal.m4
          libc/machine/h8500/configure libc/machine/hppa/aclocal.m4
          libc/machine/hppa/configure libc/machine/i386/aclocal.m4
          libc/machine/i386/configure libc/machine/i960/aclocal.m4
          libc/machine/i960/configure libc/machine/m32r/aclocal.m4
          libc/machine/m32r/configure libc/machine/m68hc11/aclocal.m4
          libc/machine/m68hc11/configure libc/machine/m68k/aclocal.m4
          libc/machine/m68k/configure libc/machine/m88k/aclocal.m4
          libc/machine/m88k/configure libc/machine/mips/aclocal.m4
          libc/machine/mips/configure libc/machine/mn10200/aclocal.m4
          libc/machine/mn10200/configure libc/machine/mn10300/aclocal.m4
          libc/machine/mn10300/configure libc/machine/necv70/aclocal.m4
          libc/machine/necv70/configure libc/machine/powerpc/aclocal.m4
          libc/machine/powerpc/configure libc/machine/sh/aclocal.m4
          libc/machine/sh/configure libc/machine/sparc/aclocal.m4
          libc/machine/sparc/configure libc/machine/tic80/aclocal.m4
          libc/machine/tic80/configure libc/machine/v850/aclocal.m4
          libc/machine/v850/configure libc/machine/w65/aclocal.m4
          libc/machine/w65/configure libc/machine/xscale/aclocal.m4
          libc/machine/xscale/configure
          libc/machine/xstormy16/aclocal.m4
          libc/machine/xstormy16/configure libc/machine/z8k/aclocal.m4
          libc/machine/z8k/configure libc/sys/aclocal.m4
          libc/sys/configure libc/sys/a29khif/aclocal.m4
          libc/sys/a29khif/configure libc/sys/arc/aclocal.m4
          libc/sys/arc/configure libc/sys/arm/aclocal.m4
          libc/sys/arm/configure libc/sys/cygwin/aclocal.m4
          libc/sys/cygwin/configure libc/sys/d10v/aclocal.m4
          libc/sys/d10v/configure libc/sys/decstation/aclocal.m4
          libc/sys/decstation/configure libc/sys/go32/aclocal.m4
          libc/sys/go32/configure libc/sys/h8300hms/aclocal.m4
          libc/sys/h8300hms/configure libc/sys/h8500hms/aclocal.m4
          libc/sys/h8500hms/configure libc/sys/idt/aclocal.m4
          libc/sys/idt/configure libc/sys/linux/aclocal.m4
          libc/sys/linux/configure libc/sys/linux/machine/aclocal.m4
          libc/sys/linux/machine/configure
          libc/sys/linux/machine/i386/aclocal.m4
          libc/sys/linux/machine/i386/configure
          libc/sys/m88kbug/aclocal.m4 libc/sys/m88kbug/configure
          libc/sys/mmixware/aclocal.m4 libc/sys/mmixware/configure
          libc/sys/netware/aclocal.m4 libc/sys/netware/configure
          libc/sys/rtems/aclocal.m4 libc/sys/rtems/configure
          libc/sys/sh/aclocal.m4 libc/sys/sh/configure
          libc/sys/sparc64/aclocal.m4 libc/sys/sparc64/configure
          libc/sys/sun4/aclocal.m4 libc/sys/sun4/configure
          libc/sys/sysmec/aclocal.m4 libc/sys/sysmec/configure
          libc/sys/sysnec810/aclocal.m4 libc/sys/sysnec810/configure
          libc/sys/sysnecv850/aclocal.m4 libc/sys/sysnecv850/configure
          libc/sys/sysvi386/aclocal.m4 libc/sys/sysvi386/configure
          libc/sys/sysvnecv70/aclocal.m4 libc/sys/sysvnecv70/configure
          libc/sys/tic80/aclocal.m4 libc/sys/tic80/configure
          libc/sys/w65/aclocal.m4 libc/sys/w65/configure
          libc/sys/z8ksim/aclocal.m4 libc/sys/z8ksim/configure
          libm/aclocal.m4 libm/configure: Regenerated.
2002-09-11 18:36:55 +00:00
Corinna Vinschen 5a8746b732 * grp.cc (initgroups): Call groups::clear_supp to free the
supplementary group sids that may have been set by setgroups.
	* security.cc (cygsidlist::free_sids): Also zero the class members.
	* security.h (groups::clear_supp): New.
	Rename cygsidlist_unknown to cygsidlist_empty.
2002-09-11 10:37:11 +00:00
Corinna Vinschen 22f8000733 * ntsec.html: Add chapter for switching user context w/o password. 2002-09-11 08:39:04 +00:00
Danny Smith 848791f9bc * lib/shell32.def: Add missing stubs. 2002-09-11 00:10:13 +00:00
Frank Ch. Eigler e9cd55aa5e * test commit 2002-09-10 19:04:38 +00:00
Jeff Johnston 596f5af5eb 2002-09-10 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.NEWLIB: More updates.
2002-09-10 19:02:38 +00:00
Jeff Johnston be83844e4c 2002-09-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/machine/i386/crt0.c (_start): Remove
        code that clears the .bss section.
2002-09-10 00:46:45 +00:00
Jeff Johnston 9c64d2a7ba 2002-09-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_types.h (_mbstate_t): Changed to use
        unsigned char internally.
        * libc/sys/linux/sys/_types.h: Ditto.
        * libc/include/sys/reent.h
        * libc/stdlib/mblen.c (mblen): Use function-specific state
        value from default reentrancy structure.
        * libc/stdlib/mblen_r.c (_mblen_r):  If return code from
        _mbtowc_r is less than 0, reset state __count value and
        return -1.
        * libc/stdlib/mbrlen.c (mbrlen): If the input state pointer
        is NULL, use the function-specific pointer provided in the
        default reentrancy structure.
        * libc/stdlib/mbrtowc.c: Add reentrant form of function.
        If input state pointer is NULL, use function-specific area
        provided in reentrancy structure.
        * libc/stdlib/mbsrtowcs.c: Ditto.
        * libc/stdlib/wcrtomb.c: Ditto.
        * libc/stdlib/wcsrtombs.c: Ditto.
        * libc/stdlib/mbstowcs.c: Reformat.
        * libc/stdlib/wcstombs.c: Ditto.
        * libc/stdlib/mbstowcs_r.c (_mbstowcs_r): If an error occurs,
        reset the state's __count value and return -1.
        * libc/stdlib/mbtowc.c: Ditto.
        * libc/stdlib/mbtowc_r.c (_mbtowc_r): Add restartable functionality.
        If number of bytes is used up before completing a valid multibyte
        character, return -2 and save the state.
        * libc/stdlib/wctomb_r.c (_wctomb_r): Define __state as __count
        and change some __count references to __state for clarity.
2002-09-09 21:42:14 +00:00
Jeff Johnston b0591c89af 2002-09-09 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.NEWLIB: Update.
2002-09-09 20:57:01 +00:00
Christopher Faylor 02fa38279f * fhandler_tty.cc (fhandler_tty_slave::open): Don't protect input/output
handles since they are not properly manipulated later.
* tty.cc (tty::make_pipes): Ditto.
2002-09-08 19:35:41 +00:00
Earnie Boyd de3387b304 * include/windef.h (WINVER): Add documentation.
(_WIN32_WINNT): Ditto.
	Special thanks to Paul Schmidt <paul@tricattechnologies.com>
2002-09-07 16:47:35 +00:00
Jeff Johnston 218b7a5638 2002-09-06 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/config.h (MB_LEN_MAX): Removed as this
        is defined by <limits.h>.
2002-09-06 15:45:58 +00:00
Christopher Faylor 788d78be79 whitespace 2002-09-06 04:39:49 +00:00
Christopher Faylor 4898f75e37 * winsup.h (_WIN32_WINNT): Protect. 2002-09-06 04:30:46 +00:00
Christopher Faylor 5c0469b45c * winsup.h (_WIN32_WINNT): Define. 2002-09-06 04:21:30 +00:00
Danny Smith 53a514ef33 * lib/Makefile.in (TEST_OPTIONS): Define WINVER to 0x0666. 2002-09-06 03:24:06 +00:00
Jeff Johnston c210a6ea06 2002-09-05 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* libc/include/wchar.h (WCHAR_MAX): Only define if not already
        defined.
2002-09-05 15:26:42 +00:00
Earnie Boyd 6f28fb6195 * include/_mingw.h: Increment version to 2.3.
Makefile.in: Ditto.
2002-09-05 14:27:29 +00:00
Earnie Boyd 31736d1768 * mingwex/fegetenv.c: Change to \n line endings.
* mingwex/vsnprintf.c: Ditto.
	* mingwex/vsnwprintf.c: Ditto.
2002-09-05 11:51:26 +00:00
Danny Smith 1730adee69 2002-09-04 Kevin Chase <kevincha99@hotmail.com>
* include/winbase.h (AllocateUserPhysicalPages,
	MapUserPhysicalPages, MapUserPhysicalPagesScatter,
	FreeUserPhysicalPages): Add prototypes.
	* lib/kernel32.def: Add function stubs for above.
2002-09-04 22:20:52 +00:00
Jeff Johnston ca3a1a6b67 2002-09-04 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* libc/include/sys/config.h: Define accordingly __WCHAR_MAX__.
        * libc/include/wchar.h: Define WCHAR_MIN as 0 and WCHAR_MAX as
        __WCHAR_MAX__ or 0x7fffffffu.
        * libc/string/wcscmp.c: Delete wrong and unnecessary type cast.
        * libc/string/wcsncmp.c: Ditto.
2002-09-04 18:17:55 +00:00
Jeff Johnston efa077ce22 2002-09-04 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* libc/include/sys/config.h: Define accordingly __WCHAR_MAX__.
        * libc/include/wchar.h: Define WCHAR_MIN as 0 and WCHAR_MAX as
        __WCHAR_MAX__ or 0x7fffffffu.
        * libc/string/wcscmp.c: Delete wrong and unnecessary type cast.
        * libc/string/wcsncmp.c: Ditto.
2002-09-04 18:16:55 +00:00
Christopher Faylor ca558bf047 some edits 2002-09-04 15:17:24 +00:00
Christopher Faylor 090b3abf87 first draft 2002-09-04 15:14:14 +00:00
Christopher Faylor 3947b56661 fix typo 2002-09-04 14:56:56 +00:00
Corinna Vinschen 03dc3df581 * Makefile.in (DLL_OFILES): Drop shortcut.o.
* path.cc: Move all shortcut functions from shortcut.c to here.
	(check_shortcut): Implement without using COM interface.
	* path.h: Move definition of SHORTCUT_HDR_SIZE to here.
	* shortcut.c: Remove.
	* shortcut.h: Ditto.
2002-09-04 13:11:29 +00:00
Nick Clifton c309557a9f Have objdump's --help switch document PPC -M options. 2002-09-04 10:08:07 +00:00
Corinna Vinschen 4d147a03bd * fhandler.h (fhandler_socket::read): Remove method.
(fhandler_socket::write): Ditto.
	(fhandler_socket::readv): New method.
	(fhandler_socket::writev): Ditto.
	(fhandler_socket::recvmsg): Add new optional argument.
	(fhandler_socket::sendmsg): Ditto.
	* fhandler.cc (fhandler_socket::read): Remove method.
	(fhandler_socket::write): Ditto.
	(fhandler_socket::readv): New method.
	(fhandler_socket::writev): Ditto.
	(fhandler_socket::recvmsg): Use win32's scatter/gather IO where
	possible.
	(fhandler_socket::sendmsg): Ditto.
	* net.cc (cygwin_recvmsg): Check the msghdr's iovec fields.
	(cygwin_sendmsg): Ditto.  Add omitted sigframe.
2002-09-04 09:39:35 +00:00
Danny Smith 3573883f9d 2002-09-03 Ren� M�ller Fonseca <fonseca@users.sourceforge.net>
* include/winuser.h (IDTRYAGAIN,IDCONTINUE): Add defines.
	Add WINVER guards for dialog box command id defines.
2002-09-03 22:29:11 +00:00
Jeff Johnston e4b0ebc1d3 2002-09-03 Jeff Johnston <jjohnstn@redhat.com>
* libc/string/wcschr.c: Add include of <stddef.h>.
        * libc/string/wcspbrk.c: Ditto.
        * libc/string/wcsrchr.c: Ditto.
        * libc/string/wcsstr.c: Ditto.
2002-09-03 19:52:10 +00:00
Jeff Johnston 3db40db7d8 2002-09-03 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_types.h (_flock_t): Added.
        * libc/include/sys/lock.h (__lock_try_acquire): New interface.
        (__lock_try_acquire_recursive): Ditto.
        * libc/include/sys/reent.h (__sFILE, __sFILE64): Add new
        _lock field.
        * libc/stdio/findfp.c (std)[!__SINGLE_THREAD__]: Initialize _lock
        field.
        * libc/stdio/fopen.c (_fopen_r)[!__SINGLE_THREAD__]: Ditto.
        * libc/stdio64/fopen64.c (_fopen64_r)[!__SINGLE_THREAD__]: Ditto.
        * libc/sys/linux/include/time.h (struct timespec): Moved from
        <sys/types.h> and added check for __need_timespec flag so type
        can be defined by itself.
        * libc/sys/linux/sys/_types.h (_flock_t): New type.
        * libc/sys/linux/sys/types.h (struct timespec): Moved to
        <time.h>.
2002-09-03 19:40:36 +00:00
Earnie Boyd 20fb0cc513 * include/wincon.h (GetConsoleWindow): Add _WIN32_WINNT >= 0x0500 guard. 2002-09-03 16:25:54 +00:00
Corinna Vinschen 4a311951a5 * cygwin.din: Revert exporting new wchar functions.
* include/cygwin/version.h: Change comment for API minor 62.
2002-09-03 12:26:51 +00:00
Christopher Faylor bdfeb17915 * dcrt0.cc (dll_crt0_1): Remove getpagesize() call.
* shared.cc (memory_init): Move it here.
2002-09-02 06:00:59 +00:00