Commit Graph

7960 Commits

Author SHA1 Message Date
Corinna Vinschen
fac3c73ba0 * include/paths.h (_PATH_MNTTAB): Define.
(_PATH_MOUNTED): Define.
	* include/mntent.h: Include paths.h.  Define MNTTAB and MOUNTED as their
	paths.h equivalents.  Add comment.
2010-02-02 11:17:54 +00:00
Christopher Faylor
fc6a0dc849 * dcrt0.cc (atexit_lock): Delete.
(cygwin_exit): Remove atexit lock.
(cygwin_atexit): Ditto.  Rename parameter to match newlib.  Call __cxa_atexit
when invoked by a registered DLL.
* dll_init.cc (remove_dll_atexit): Delete.
(dll_list::find): New function.
(dll_list::detach): Use dll_list::find to find dll associated with return
address.  Use __cxa_finalize to run atexit functions associated with the dll.
(cygwin_detach_dll): Don't assume that HANDLE == void *.
* dll_init.h (dll_list::find): Declare.
(__cxa_atexit): Ditto.
(__cxa_finalize): Ditto.
* init.cc (dll_entry): Clarify comment.
2010-02-02 02:00:01 +00:00
Dave Korn
a390615010 * how-startup-shutdown-works.txt: Add new document. 2010-02-02 01:54:55 +00:00
Yaakov Selkowitz
50da6b49ed * faq-programming.xml: Update for Cygwin docbook-utils package. 2010-02-02 01:18:03 +00:00
Yaakov Selkowitz
2972058a05 * README: Update for Cygwin docbook-utils package. 2010-02-02 01:02:49 +00:00
Corinna Vinschen
54c4a92634 * sec_auth.cc (lsaauth): Use CYG_LSA_MAGIC as checksum start value to
decouple from Cygwin release.
2010-01-29 19:51:11 +00:00
Corinna Vinschen
cd5401de59 * cyglsa.c: Include lmcons.h instead of lm.h to make newer WinDDK happy.
(LsaApLogonUserEx): Use CYG_LSA_MAGIC as checksum start value to
	decouple from Cygwin release.
	* make-64bit-version-with-visual-c.bat: Avoid compiler warning.
	* cyglsa64.dll: New build.
2010-01-29 19:50:15 +00:00
Corinna Vinschen
0b189c1ef3 * libc/strfmon.c (__setup_vars): Test for an empty string rather than
for a NULL pointer.
2010-01-29 19:38:22 +00:00
Christopher Faylor
d5c4cd3f6c * dll_init.cc (remove_dll_atexit): New function.
(dll_list::detach): Run any atexit handlers registered in the DLL prior to
unloading.
2010-01-29 18:34:09 +00:00
Christopher Faylor
2b37c431b1 * libc/strfmon.c (__setup_vars): Fix compiler warning about assigning const
strings.  Compare a pointer to NULL rather than '\0'.
* dll_init.cc (dll_dllcrt0_1): Minor comment fix.
* pipe.cc (fhandler_pipe::create_selectable): Remove Win9x accommodation.
2010-01-29 17:37:54 +00:00
Corinna Vinschen
3432d6f1f7 Throughout, use FileBothDirectoryInformation info class rather than
FileDirectoryInformation info class to avoid problems with incomplete
	filesystem implementations.  Fix comments accordingly.
	* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Set
	fname->Length to 0 in error case to avoid potential crash in debug
	output.
	(fhandler_disk_file::readdir): Try to speed up the working default case.
	Check for STATUS_INVALID_NETWORK_RESPONSE as potential status value
	returned by filesystems not implementing FileIdBothDirectoryInformation.
	* ntdll.h (STATUS_INVALID_NETWORK_RESPONSE): Define.
	(FILE_BOTH_DIRECTORY_INFORMATION): Rename to official name.
	* path.cc (symlink_info::check): Don't request FILE_READ_EA access, it's
	not required for NFS.  Try to speed up the working default case.  Check
	for STATUS_INVALID_NETWORK_RESPONSE as potential status value returned
	by filesystems not supporting non-NULL EA parameters.  Fix the way
	fs.update is called.  Improve debug output.
2010-01-29 11:20:06 +00:00
Chris Sutcliffe
3d635c060e 2010-01-26 Chris Sutcliffe <ir0n3h4d@users.sourceforge.net>
* include/shldisp.h (AUTOCOMPLETEOPTIONS): Add version guard around
        ACO_WORD_FILTER and ACO_NOPREFIXFILTERING.
2010-01-29 00:41:58 +00:00
Corinna Vinschen
1b52d127bd * Makefile.in (tags, ctags, CTAGS)): Add rules to create tags file. 2010-01-28 11:54:00 +00:00
Chris Sutcliffe
6a69717458 2010-01-26 Chris Sutcliffe <ir0n3h4d@users.sourceforge.net>
* include/shldisp.h (AUTOCOMPLETEOPTIONS): Add enum.
2010-01-28 01:16:55 +00:00
Yaakov Selkowitz
954515b011 * faq-api.xml: d2u/u2d are from cygutils, not util-linux. 2010-01-26 19:26:59 +00:00
Christopher Faylor
e9e924bfae * Makefile.in: Skip validation in xmlto step.
* overview.sgml: Clarify language in "A brief history of Cygwin".
2010-01-26 16:16:19 +00:00
Corinna Vinschen
bd5e7d1efc * new-features.sgml (ov-new1.7.2): Add console enhancements. 2010-01-26 16:09:46 +00:00
Chris Sutcliffe
d359eb2e1f 2010-01-25 Kai Tietz <kai.tietz@onevision.com>
Implement TLS Callback.

        * tlsmcrt.c: New file.
        * tlsmthread.c: Ditto.
        * tlssup.c: Ditto.
        * tlsthrd.c: Ditto.
        * Makefile.in: Include new files.
        * crt1.c: Implement TLS Callback.
        * dllcrt1.c: Ditto.
        * mthr_stub.c: Remove.
2010-01-25 22:58:03 +00:00
Corinna Vinschen
8944c6af48 * nlsfuncs.cc (__get_lcid_from_locale): Add comments. Fix typos in
comments.  Make sure to set last_lcid every time.  Return locale
	without territory part as invalid.  Handle modern serbian territory
	names per ISO 3166 on older systems as well.  Add appropriate comment.
	(__set_charset_from_locale): Handle LCID for sr_CS as well to make older
	systems happy.
2010-01-25 21:20:31 +00:00
Corinna Vinschen
9a3628f50c * faq-setup.xml: Drop references to non-NT systems.
* faq-using.xml: Ditto.
	(faq.using.sshd-in-domain): New FAQ entry.
2010-01-25 17:04:29 +00:00
Corinna Vinschen
0f8df291ac * nlsfuncs.cc (__set_charset_from_locale): Rearrange to set charset
more closely aligned to Glibc.
2010-01-25 11:55:46 +00:00
Corinna Vinschen
27ac64346f * spawn.cc (spawn_guts): Only try to remove long path prefix from
runpath if runpath is not NULL.
2010-01-25 11:21:56 +00:00
Corinna Vinschen
aced35f883 * faq-using.xml: Fix typos and remove incorrect locale-specific
documentation.
	* new-features.sgml: Ditto.
	* pathnames.sgml: Ditto.
2010-01-25 10:50:21 +00:00
Corinna Vinschen
4fc8ae4f7b * nlsfuncs.cc (__get_lcid_from_locale): Fix a comment. Handle special
language/TERRITORY combinations explicitely.  Explain why.
2010-01-25 10:44:56 +00:00
Corinna Vinschen
ca2b906d55 * getlocale.c (main): Use setlocale and fetch string from Windows
using GetLocaleInfoW.  Explain why.
2010-01-25 09:22:12 +00:00
Corinna Vinschen
af7f57b9fb * new-features.sgml: Rework layout to use itemizedlist. Fix typo.
Add two missing entries.
2010-01-24 15:08:01 +00:00
Corinna Vinschen
05fab4a63b * nlsfuncs.cc (__set_charset_from_locale): Fix comment. 2010-01-24 14:43:51 +00:00
Corinna Vinschen
57c7e05ea7 * nlsfuncs.cc (check_codepage): Move from syscalls.cc here.
(internal_setlocale): Ditto.
	(initial_setlocale): Ditto.
	(setlocale): Ditto.
	* strfuncs.cc (__sjis_wctomb): Revert previous patch.
	(__sjis_mbtowc): Ditto.
	* syscalls.cc: Move setlocale-related functions to nlsfuncs.cc.
2010-01-24 12:29:49 +00:00
Corinna Vinschen
96697c23e4 * setup2.sgml (setup-locale-charsetlist): Add CP932. Change description
for SJIS.
2010-01-23 16:44:00 +00:00
Corinna Vinschen
6b121156cd * strfuncs.cc (__sjis_wctomb): Special handling for characters which
differ between SJIS and Windows codepage 932, if charset is "SJIS".
	(__sjis_mbtowc): Ditto.
	(_jis_wctomb): Remove.
	(__jis_mbtowc): Remove.
2010-01-23 16:43:17 +00:00
Corinna Vinschen
e0c57463f0 * setup2.sgml (setup-locale-charsetlist): Add ASCII and TIS-620. Add
various aliases and case differences.
2010-01-23 15:03:06 +00:00
Corinna Vinschen
e020bfa85b * nlsfuncs.cc (wcsxfrm): Call LCMapStringW with LCMAP_BYTEREV flag to
allow correct comparison using wcscmp.
2010-01-23 10:11:43 +00:00
Corinna Vinschen
bc9fcc287d * posix.sgml (strfmon): Move to implemented SUSv4 API. 2010-01-22 22:33:22 +00:00
Corinna Vinschen
ff0056d45e * new-features.sgml (ov-new1.7.2): Add chapter for news in 1.7.2.
* setup2.sgml (setup-locale-ov): Describe how valid locales are
	determined by Windows locale support.  Change description for modifiers
	in locale environment variables.
	(setup-locale-how): Describe new charset behaviour.  Mention new
	getlocale tool to fetch valid locale information from Windows.
	(setup-locale-missing): Drop now implemented LC_foo options.
	Explain missing LC_MESSAGES in more detail.
2010-01-22 22:32:42 +00:00
Corinna Vinschen
be822de2a1 * Makefile.in (CYGWIN_BINS): Add getlocale.
* getlocale.c: New file.
	* utils.sgml (getlocale): New section describing new getlocale tool.
2010-01-22 22:31:50 +00:00
Corinna Vinschen
326fb376dd * Makefile.in (DLL_OFILES): Add nlsfunc.o and strfmon.o.
* autoload.cc (LocaleNameToLCID): Define.
	* cygwin.din (strfmon): Export.
	* nlsfuncs.cc: New file.  Define a lot of internal functions called
	from setlocale.
	(wcscoll): Implement locale-aware here, using CompareStringW function.
	(strcoll): Ditto.
	(wcsxfrm): Implement locale-aware here, usingLCMapStringW function.
	(strxfrm): Ditto.
	(__set_charset_from_locale): Replace __set_charset_from_codepage.
	Return Linux-compatible charset.
	* strfuncs.cc (__set_charset_from_codepage): Remove.
	* wchar.h (__set_charset_from_codepage): Drop definition.
	* wincap.h (wincaps::has_localenames): New element.
	* wincap.cc: Implement above element throughout.
	* libc/strfmon.c: New file.
	* libc/strptime.cc: Remove locale constant strings in favor of
	access to locale-specifc data.
	(strptime): Point _CurrentTimeLocale to locale-specific data.
	Throughout use correct locale-specific format fields for all
	locale-specific formats.
	* include/monetary.h: New file.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2010-01-22 22:31:31 +00:00
Corinna Vinschen
43b4aa0f7c * strfuncs.cc: Remove needless includes. 2010-01-18 16:07:22 +00:00
Corinna Vinschen
0b8e38dd8b * setup2.sgml (setup-locale): Mention three character codes per
ISO 639-3.

	* setup2.sgml (setup-locale): Adapt description to the C using ASCII
	change in 1.7.2.
2010-01-17 14:55:57 +00:00
Corinna Vinschen
62910474ac * syscalls.cc (internal_setlocale): Use UTF-8 internally if external
charset is ASCII.
2010-01-17 09:41:01 +00:00
Christopher Faylor
e6bda02346 * setup-net.sgml: Remove obsolete assertion. 2010-01-16 18:06:27 +00:00
Corinna Vinschen
011560c87d * libc/fnmatch.c: Replace with multibyte capable version from FreeBSD. 2010-01-16 15:11:56 +00:00
Corinna Vinschen
1b526b480b * cygpath.cc (get_mixed_name): Drop function. Replace with call to
convert_slashes throughout.
	(do_sysfolders): Free allocated buffer.
	(do_pathconv): Fix freeing last buffer.
2010-01-16 10:25:58 +00:00
Corinna Vinschen
1a8d1e1040 * fhandler_socket.cc (fhandler_socket::accept4): Reset async flag
on accepted socket.
2010-01-16 10:22:58 +00:00
Corinna Vinschen
2b24bd4898 * faq-using.xml (faq.using.bloda): Clarify wxvault.dll. 2010-01-15 21:41:47 +00:00
Corinna Vinschen
9d5bf1b13c * fhandler_socket.cc (fhandler_socket::accept4): Set nonblocking
flag exactly according to flags, as on Linux.
	* net.cc (cygwin_accept): Maintain BSD semantics here.
2010-01-15 21:34:27 +00:00
Christopher Faylor
be0ca195b9 * faq-setup.xml: Add missing setup options. Sort options. 2010-01-15 18:47:31 +00:00
Corinna Vinschen
0d6531551b * cygwin.din (accept4): Export.
* fhandler.h (fhandler_socket::accept4): Rename from accept.  Take
	additional flag parameter.
	* fhandler_socket.cc (fhandler_socket::accept4): Ditto.  Handle
	SOCK_NONBLOCK and SOCK_CLOEXEC flags.
	* net.cc (cygwin_socket): Handle SOCK_NONBLOCK and SOCK_CLOEXEC flags
	in type.  Check for invalid flag values.
	(socketpair): Ditto.
	(cygwin_accept): Accommodate renaming of fhandler_socket::accept
	function to accept4.
	(accept4): New function.
	* posix.sgml: Mention accept4 as GNU extensions.
	* include/cygwin/socket.h (SOCK_NONBLOCK): Define.
	(SOCK_CLOEXEC): Define.
	(_SOCK_FLAG_MASK): Define when building Cygwin.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
	* include/sys/socket.h (accept4): Declare.
2010-01-15 15:40:05 +00:00
Corinna Vinschen
14c800a5ba * posix.sgml: Mention dup3 and pipe2 as GNU extensions. 2010-01-15 14:22:42 +00:00
Corinna Vinschen
41d184bb62 * dcrt0.cc (dll_crt0_1): Reset locale to "C" at the last moment before
calling the application's main.
	* syscalls.cc (internal_setlocale): Don't reset locale to "C here.
	Change comment accordingly.
2010-01-14 18:56:24 +00:00
Corinna Vinschen
e70fdfb99f * cygwin.din (dup3): Export.
(pipe2): Export.
	* dtable.cc (dtable::dup_worker): Take additional flags parameter.
	Handle O_CLOEXEC flag.
	(dtable::dup3): Rename from dup2.  Take additional flags parameter.
	Check for valid flags.  Drop check for newfd == oldfd.
	* dtable.h (dtable::dup_worker): Add flags parameter.
	(dtable::dup3): Rename from dup2.
	* fcntl.cc (fcntl64): Add F_DUPFD_CLOEXEC case.
	* fhandler.h (fhandler_mailslot::get_object_attr): Add flags parameter.
	* fhandler.cc (fhandler_base::open): Use security attribute with
	inheritance according to setting of O_CLOEXEC flag.
	* fhandler_console.cc (fhandler_console::open): Ditto.
	* fhandler_fifo.cc (sec_user_cloexec): New inline function to
	create security attribute with inheritance according to setting of
	O_CLOEXEC flag.
	(fhandler_fifo::open): Call sec_user_cloexec to fetch security
	attribute.
	(fhandler_fifo::wait): Ditto.
	* fhandler_mem.cc (fhandler_dev_mem::open): Ditto.
	* fhandler_mailslot.cc (fhandler_mailslot::get_object_attr): Take
	additional flags parameter.  Use security attribute with inheritance
	according to setting of O_CLOEXEC flag.
	(fhandler_mailslot::open): Call get_object_attr with flags parameter.
	* fhandler_registry.cc (fhandler_registry::open): Call set_close_on_exec
	on real handles to accommodate O_CLOEXEC flag.
	* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
	* fhandler_tape.cc: Create mutex with inheritance according to setting
	of O_CLOEXEC flag.
	* pipe.cc: Replace usage of O_NOINHERIT with O_CLOEXEC.
	 (fhandler_pipe::init): Simplify setting close_on_exec flag.
	(fhandler_pipe::open): Remove setting close_on_exec flag.
	(fhandler_pipe::create): Use security attribute with inheritance
	according to setting of O_CLOEXEC flag.
	(pipe2): New exported function.
	* posix_ipc.cc: Throughout, open backing files with O_CLOEXEC
	flag to follow POSIX semantics.
	* security.h (sec_none_cloexec): New define.
	* syscalls.cc (dup): Add missing extern "C" qualifier.  Accommodate
	renaming of dtable::dup2 to dtable::dup3.
	(dup2): Ditto.  Check newfd == oldfd here.
	(dup3): New function.  Check newfd == oldfd here.
	(open): Set close_on_exec flag according to O_CLOEXEC flag before
	calling fhandler->open.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2010-01-14 18:46:02 +00:00