Commit Graph

7745 Commits

Author SHA1 Message Date
Corinna Vinschen 1c1b04b84c * dtable.cc (build_fh_dev): Take additional bool parameter indicating
whether set_name should be called or not.
	(dtable::dup_worker): Call build_fh_pc with new second parameter set
	to false.  Explain why.  If fhandler's dup failed, delete rather than
	cfree newfh and set newfh to NULL to indicate failure correctly.
	* dtable.h (build_fh_pc): Change declaration according to above change.
	Default set_name parameter to true.
	* mmap.cc (mmap_record::free_fh): Delete rather than cfree fh.
2009-08-20 08:34:21 +00:00
Christopher Faylor 421ba492fa * dtable.cc (dtable::fixup_after_exec): Close any popen'ed file handles here.
* fhandler.h (fhandler_*::ispipe): New function.
(fhandler_base::get_popen_pid): Define virtual function.
(fhandler_*::isdevice): Make const.
(fhandler_*::isfifo): Ditto.
2009-08-18 15:21:47 +00:00
Corinna Vinschen 4db8460fdb * Makefile.in (CXXFLAGS): Allow override. 2009-08-18 08:37:23 +00:00
Christopher Faylor 4315703af7 * syscalls.cc (popen): Reorganize slightly for clarity. Fix a comment. 2009-08-18 01:51:35 +00:00
Christopher Faylor d5c44ae231 * syscalls.cc (popen): Rewrite to accommodate situations where stdin, stdout,
or stderr are closed.
2009-08-18 01:40:46 +00:00
Christopher Faylor 28c054b720 * pipe.cc (fhandler_pipe::create_selectable): Add -pipe to default pipe names.
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Use bool/true/false for
what is actually a boolean variable.
2009-08-17 12:45:51 +00:00
Chris Sutcliffe 22fa213129 2009-08-14 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/_mingw.h: Increment version to 3.16.
2009-08-15 02:50:19 +00:00
Corinna Vinschen 719ffe8792 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix length
check for ".." dir.
2009-08-14 18:27:18 +00:00
Corinna Vinschen e684ace44e * fhandler_disk_file.cc (fhandler_disk_file::readdir): Change comment
to be fair.
2009-08-14 14:10:31 +00:00
Corinna Vinschen e575678945 * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Remove
ill-advised attempt to optimize "." and ".." handling by checking for
	specific position in directory listing.  Explain why.
	(fhandler_disk_file.cc (fhandler_disk_file::readdir): Ditto.
	Special-case opening file on NFS to fetch inode number and add longish
	comment to explain why.
2009-08-14 13:39:07 +00:00
Corinna Vinschen c1999c4b0c * (fhandler_socket::getsockname): Fix length returned for unbound
AF_LOCAL sockets.
	(fhandler_socket::getpeername): Ditto.
	* net.cc (socketpair): Don't set sun_path and peer_sun_path to
	make sure getsockname and getpeername return the correct values
	for AF_LOCAL sockets.
2009-08-14 06:58:44 +00:00
Corinna Vinschen 95a1cc7024 * fhandler_socket.cc (fhandler_socket::accept): Use sizeof rather
then constant size.  Truncate returned data, but return full address
	length as per POSIX.
	(fhandler_socket::getsockname): Truncate returned data, but return full
	address length as per POSIX.
	(fhandler_socket::getpeername): Ditto.
2009-08-13 15:44:29 +00:00
Corinna Vinschen d3d4aa96aa * fhandler.h (class fhandler_socket): Add peer_sun_path member.
(fhandler_socket::set_peer_sun_path): New method.
	(fhandler_socket::get_peer_sun_path): New method.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
	peer_sun_path to NULL.
	(fhandler_socket::~fhandler_socket): Free peer_sun_path if necessary.
	(fhandler_socket::dup): Duplicate peer_sun_path.
	(fhandler_socket::accept): Ditto.  Return fake unbound peer content
	and len in case of AF_LOCAL sockets.
	(fhandler_socket::getsockname): Always use local sockaddr_storage to
	store socket address and copy over to incoming address.  Handle every
	namelen correctly per POSIX.
	(fhandler_socket::getpeername): Ditto.  Add code path to return
	correct value for AF_LOCAL sockets.
	(fhandler_socket::set_peer_sun_path): New method.
	* net.cc (socketpair): Set peer_sun_path to empty string, just like
	sun_path.
2009-08-13 10:26:42 +00:00
Corinna Vinschen ce5eb135a2 * cxx.cc (default_cygwin_cxx_malloc): Enhance commenting.
* dll_init.cc (dll_dllcrt0_1): Likewise.
	* dlfcn.cc (dlopen): Prevent dlopen()'d DLL from installing any
	cxx malloc overrides.
	* include/cygwin/cygwin_dll.h (__dynamically_loaded): New variable.
	* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Check it and only
	install cxx malloc overrides when statically loaded.  Extend comments.
2009-08-13 07:35:50 +00:00
Dave Korn ee47ad3213 * faq-using.xml (faq.using.bloda): Typofix MacAfee -> McAfee. 2009-08-12 22:03:18 +00:00
Corinna Vinschen a73a3f438b * fhandler_socket.cc (fhandler_socket::accept): Always use local
sockaddr_storage to store peer address and copy over to incoming
	peer address if available.  Truncate data as necessary according
	to POSIX.
2009-08-12 14:48:16 +00:00
Corinna Vinschen 91dd009e81 * mkgroup.c (enum_local_groups): Avoid error message if given group
name isn't found and return 0 to allow searching to proceed.  Always
	return 0 or 1, not -1.
	(enum_groups): Avoid error message if given group name isn't found.
	* mkpasswd.c (enum_users): Ditto.
2009-08-11 08:59:50 +00:00
Corinna Vinschen b1ce1770ea * include/limits.h (NGROUPS_MAX): Set to a more sane value.
* include/sys/param.h (NGROUPS): Ditto.
2009-08-11 07:28:22 +00:00
Corinna Vinschen 9043b49e63 * spawn.cc (av::fixup): Check shell scripts for executability only on
filesystems/mounts supporting real permissions.
2009-08-10 18:36:28 +00:00
Corinna Vinschen 019fc8d880 * dtable.cc (DEV_SOCKET): New static WCHAR string. Name of
the native NT socket device.
	(dtable::init_std_file_from_handle): Remove unused tmp_pathbuf
	variable.  Move check for sockets into FILE_TYPE_PIPE clause.
	Rely on handle_to_fn having recognized socket, or check if
	getsockopt works to accommodate NT4 shortcoming.
	(handle_to_fn): Use tmp_pathbuf for OBJECT_NAME_INFORMATION
	buffer and simplify code due to that.  Check name returned by
	NtQueryObject for socket device.
2009-08-10 15:38:37 +00:00
Christopher Faylor 78d959ce6f * fhandler_console.cc (create_invisible_console_workaround): Fix size of cmd in
the way originally intended.
2009-08-10 15:25:58 +00:00
Corinna Vinschen 264ae244af * fhandler_console.cc (create_invisible_console_workaround): Fix
size of cmd to take spaces into account.
2009-08-10 08:54:51 +00:00
Dave Korn 4f2e34d821 * mingw: Add fallbacks to search for MinGW components in standard
install locations if not found in compiler's $prefix.
2009-08-10 01:55:14 +00:00
Corinna Vinschen 29222c4d6a * mount.cc (do_mount): Don't exit, just return. 2009-08-09 14:13:53 +00:00
Corinna Vinschen ca695f2193 * include/winnls.h (IS_HIGH_SURROGATE, IS_LOW_SURROGATE,
IS_SURROGATE_PAIR): Define.
2009-08-09 12:25:47 +00:00
Corinna Vinschen 7be107ce24 * dtable.cc (dtable::init_std_file_from_handle): Fix comment to
document change in the Windows 7 workaround.
	* wincap.cc (wincapc::init): Don't set has_console_handle_problem
	to false on 32 bit systems.
2009-08-08 20:24:54 +00:00
Chris Sutcliffe 75bf04114e 2009-08-08 Danny Smith <dannysmith@users.sourceforge.net>
* include/math.h (__fpclassifyl, __isnan, __isnanf, isnanl, __signbit,
        __signbitf, __signbitl, sinhf, tanhf, expf, frexpf, ldexpf, hypotf, powf,
        __fp_unordered_compare): Add prototypes.
        * include/stdio.h (vsnwprintf): Add prototype.
        * include/wchar.h (vsnwprintf): Add prototype.
        * include/unistd.h (ftruncate): Move prototype out of __NO_INLINE__ guard.
2009-08-08 13:26:11 +00:00
Corinna Vinschen 19753e1dbf * net.cc (cygwin_getnameinfo): Force setting NI_NUMERICSERV only
on Windows 2003 and earlier, only if the port number doesn't
	resolve to a well-known service.  Change comment accordingly.
2009-08-06 14:55:49 +00:00
Christopher Faylor a99345591f * cygheap.h (cygheap_debug::endh): Delete.
* debug.cc (lock_debug::acquired): Delete.
(lock_debug::lock_debug): Simplify.
(lock_debug::unlock): Ditto.
(find_handle): Don't set endh here.
(add_handle): Add new handle to beginning of the list rather than trying to
maintain an end list pointer.
(delete_handle): Minor optimization.
(mark_closed): Make logic clearer.
(verify_handle): Lock handle list before scanning.
(setclexec): Ditto.
(modify_handle): Ditto.
(newh): Don't lock handle list here.  Assume caller did this.
(mark_closed): Ditto.
(close_handle): Remove unneeded #if.
* dtable.cc (dtable::dup2): Tweak debug output.
2009-08-05 04:44:27 +00:00
Christopher Faylor 7f01964f06 * path.cc (patch_conv::check): Zero path before setting it. 2009-08-05 03:18:48 +00:00
Christopher Faylor 631681619e * fhandler_socket.cc (fhandler_socket::send_internal): Just use wmem size if
the length exceeds it.
* net.cc (fdsock): Use 65535 as window size, just like the comment says or we
run into problems with DuplicateHandle.
* path.cc (patch_conv::check): Use set_path to set invalid filename.
* path.h (path_conv::path_conv): Ditto.
2009-08-04 22:35:35 +00:00
Christopher Faylor 3b689b97bd * fhandler.h (pdrive_buf): Defensively allocate one extra byte. 2009-08-04 04:31:08 +00:00
Christopher Faylor 824d851859 * fhandler.h (fhandler_cygdrive:DRVSZ): New enum.
(pdrive_buf): New place to hold information about cygdrive.
* fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Store drive info in
pdrive_buf since get_win32_name() could now be too small to hold everything.
(fhandler_cygdrive::rewinddir): Reset pdrive to pdrive_buf.
(fhandler_cygdrive::closedir): Ditto.
* pipe.cc (fhandler_pipe::init): Be more defensive when referencing
get_win32_name().  Rework logic which made a copy of the POSIX path and then
never used it.
2009-08-04 04:20:36 +00:00
Christopher Faylor ff7b364c12 * sigproc.cc (stopped_or_terminated): Don't return a match when stopsig ==
SIGCONT and not WCONTINUED.
* termios.cc (tcsetpgrp): Improve debugging output.
2009-08-02 21:38:40 +00:00
Christopher Faylor fafbf75509 * cygheap_malloc.h: New file.
* cygheap.h: Remove stuff now included in cygheap_malloc.h and include that
file.  Make cygheap_init a standard c++ function.  Remove unneeded child_info
declaration.
* path.h: Include cygheap_malloc.h.  Remove extra cstrdup declaration.
(path_conv): Reorganize to group variables together.
(path_conv::path): Make const char *.
(path_conv::known_suffix): Ditto.
(path_conv::normalized_path): Ditto.
(path_conv::path_conv): Reorganize initializers to reflect new element
ordering.
(path_conv::get_win32): Change return value to const char *.
(path_conv::set_path): Move back here from spawn.cc.
(parh_conv::modifiable_path): New function.
* path.cc (path_conv::add_ext_from_sym): Accommodate const'ness of
known_suffixes.
(path_conv::set_normalized_path): Ditto for normalized_path.
(path_conv::check): Use modifiable_path whereever we need to modify the path
element.  Use set_path to set the path.
(path_conv::~path_conv): Accommodate new const'ness.
* spawn.cc (perhaps_suffix): Declare ext as const since that's what is being
returned.
(path_conv::set_path): Move back to path.h.
* winf.f (linebuf): Perform minor cleanup.
(linebuf::fromargv): Change second parameter to const.
* winf.cc (linebuf::fromargv): Ditto.
2009-08-01 19:52:46 +00:00
Christopher Faylor 8cc84a8ce3 * path.h (path_conv::set_path): Change return value.
* spawn.cc (path_conv::set_path): Return newly set value.
(find_exec): Set retval to newly set value when calling set_path.
2009-08-01 17:55:58 +00:00
Christopher Faylor a3a060b596 * spawn.cc (find_exec): Fix one more path where retval was not set. 2009-08-01 03:36:44 +00:00
Christopher Faylor 5f297dc330 * spawn.cc (find_exec): Stop relying on the ability to set retval to a fixed
path_conv buffer and set it on the fly instead.
2009-08-01 03:27:51 +00:00
Corinna Vinschen eeb6806f87 * path.h (cstrdup): Fix declaration. 2009-07-30 20:19:54 +00:00
Corinna Vinschen 900f20710f * globals.cc (enum exit_states::ES_GLOBAL_DTORS): Delete.
* dcrt0.cc (__main): Schedule dll_global_dtors to run
	atexit before global dtors.
	(do_exit): Delete test for ES_GLOBAL_DTORS and call to
	dll_global_dtors.
2009-07-30 15:48:51 +00:00
Corinna Vinschen 0986989f6a * path.h (class path_conv): Convert path from char array to char *.
Initialize to NULL in constructors.  Drop normalized_path_size member.
	(path_conv::size): Remove.
	(path_conv::operator =): Always copy with sizeof path_conv.  Always
	duplicate path on cygheap.
	(path_conv::set_path): Move implementation to spawn.cc.
	* path.cc (path_conv::set_normalized_path): Always allocate
	normalized_path on cygheap.
	(path_conv::check): Don't work on path, rather allocate THIS_path in
	TLS and use it throughout.  When finished, allocate path on cygheap
	and copy over.  Defer tacking on extension after having copied path.
	* spawn.cc (path_conv::set_path): Implement here.
2009-07-30 08:56:57 +00:00
Chris Sutcliffe 7d3c3d30e7 Fix formatting issue with last entry 2009-07-30 01:55:44 +00:00
Keith Marshall 0c27cfc9b0 Correct disposition of wchar_t output in printf(). 2009-07-29 07:22:51 +00:00
Corinna Vinschen 8d641a5b46 * mount.h (enum fs_info_type): New type.
(IMPLEMENT_FS_FLAG): New define.
	(class fs_info): Convert filesystem type status flags into an enum
	fs_info_type.  Add cifs FS.  Revert change to has_buggy_open and
	has_buggy_fileid_dirinfo.  Make them normal; status flags again.
	Implement is_FS functions using IMPLEMENT_FS_FLAG.
	* mount.cc (fs_info::update): Define MINIMAL_WIN_NTFS_FLAGS and
	FS_IS_WINDOWS_NTFS.  Add comment.  Only test remote filesystems
	for "NTFS" once.  Add is_cifs check using FS_IS_WINDOWS_NTFS.
	Set has_buggy_open flag for SUNWNFS.  Set has_buggy_fileid_dirinfo
	flag for UNIXFS and all cifs type filesystems.  Only check for
	caseinsensitivity once.
	(fillout_mntent): Create locale fs_names array.  Use for setting
	_my_tls.locals.mnt_type.
2009-07-28 10:39:55 +00:00
Chris Sutcliffe d826cbf322 2009-07-27 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* mingwex/stdio/pformat.c: Implement better fix for type punned warning.
2009-07-28 01:28:22 +00:00
Keith Marshall b70cd7bca1 Convert to monolithic configuration procedure. 2009-07-27 20:27:09 +00:00
Corinna Vinschen 5e2b7ea949 * include/winnt.h (FILE_SUPPORTS_HARD_LINKS,
FILE_SUPPORTS_EXTENDED_ATTRIBUTES, FILE_SUPPORTS_OPEN_BY_FILE_ID,
	FILE_SUPPORTS_USN_JOURNALS): Define.  Add comment.
	* include/ddk/ntifs.h: Ditto.
	(FILE_SEQUENTIAL_WRITE_ONCE, FILE_SUPPORTS_TRANSACTIONS): Define.
2009-07-27 11:40:26 +00:00
Corinna Vinschen 8171ddb73f * posix.sgml (std-notes): Remove obsolete reference to CYGWIN=server. 2009-07-27 08:05:47 +00:00
Corinna Vinschen 4d670aabf6 * posix.sgml (std-notes): Add flock restriction. 2009-07-26 09:34:35 +00:00
Corinna Vinschen 6359951b47 * fhandler_console.cc (set_console_title): Set buffer size to
TITLESIZE + 1.  Call sys_mbstowcs with correct destination length.
2009-07-25 08:27:10 +00:00
Christopher Faylor 43c23d4b82 * sigproc.h (wait_for_sigthread): Eliminate parameter.
* sigproc.cc (wait_for_sigthread): Ditto.  Don't synchronize with wait_sig
after receiving an event that it is ready to go.
(init_sig_pipe): New function.
(wait_sig): Call init_sig_pipe to create pipes for communicating signals to
this process.  Don't send sigCONT signal when initializing.
* fork.cc (frok::child): Accommodate wait_for_sigpipe parameter change.
* fhandler.h (fhandler_*::write): Make ssize_t/__stdcall.
(fhandler_*::write_overlapped): Ditto.
(fhandler_*::raw_write): Ditto.
(fhandler_*::readv): Ditto.
(fhandler_*::writev): Ditto.
(fhandler_*::raw_read): Make __stdcall.
* fhandler: Accommodate changes to read/write functions throughout.
* fhandler_clipboard.cc: Ditto.
* fhandler_console.cc: Ditto.
* fhandler_dsp.cc: Ditto.
* fhandler_fifo.cc: Ditto.
* fhandler_mailslot.cc: Ditto.
* fhandler_mem.cc: Ditto.
* fhandler_mem.cc: Ditto.
* fhandler_random.cc: Ditto.
* fhandler_tape.cc: Ditto.
* fhandler_tty.cc: Ditto.
* fhandler_virtual.cc: Ditto.
* fhandler_windows.cc: Ditto.
* fhandler_zero.cc: Ditto.
* syscalls.cc (readv): Use ssize_t as temp variable.
* fhandler.cc (fhandler_base::read): Coerce returned len to signed or it will
never be treated as < 0.
(fhandler_base::wait_overlapped): Minimize calls to GetLastError.  Remove
duplicate debugging test.  Fix error return.
* fhandler.h (fhandler_fifo::fifo_name): Declare new function.
(fhandler_fifo::close): Ditto.
(fhandler_fifo::dup): Ditto.
(fhandler_fifo::close_on_exec): Ditto.
* fhandler.cc (fhandler_fifo::fifo_name): Define new function.
(FIFO_BUF_SIZE): New define.
(cnp): Ditto.
(fhandler_fifo::open): Rework.  Use cnp to open named pipe.  Always open write
side as a client.  Open dummy client when writing and can't connect.
(wait): Rework.  Implement fifo_wait_for_next_client.  Handle signals during
connect better.  Add new fifo_wait_for_server code which polls
(sigh) waiting for server.
(fhandler_fifo::raw_read): Handle transition states when one client closes and
another is available.
(fhandler_fifo::close): Define.
(fhandler_fifo::dup): Ditto.
(fhandler_fifo::close_on_exec): Ditto.
2009-07-24 20:54:33 +00:00
Corinna Vinschen f8cb4b4916 * syscalls.cc (internal_setlocale): Fix typo in GBK codepage. 2009-07-24 18:24:57 +00:00
Corinna Vinschen 92d816d492 * syscalls.cc (unlink_nt): Ignore sharing violation on NFS. Align
comments.
2009-07-24 14:13:44 +00:00
Chris Sutcliffe 6922bae9a1 2009-07-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* msvcrt.def.in: disable time symbol for libmsvcr90.a and libmsvcr90d.a due
        to complaints that it causes issues.
2009-07-24 01:29:38 +00:00
Chris Sutcliffe 4d07e72514 2009-07-23 Jacky Lai <crazyjacky@users.sourceforge.net>
* mingwex/math/fminf.c: switch to using __isnanf() as opposed to _isnan().
2009-07-24 01:21:27 +00:00
Corinna Vinschen a6131454a5 * mount.h (fs_info::fsn): New member.
(fs_info::clear): Clear fsn.
	(fs_info::fsname): New read accessor for fsn.
	* mount.cc (fs_info::update): Fill in fsn member with lowercased
	filesystem name if filesystem is not well-known.  Fall back to
	"unknown" if filesystem name is missing.
	(fillout_mntent): Print filesystem name retrieved in fs_info::update
	rather than static string "unknown".
2009-07-23 11:46:06 +00:00
Corinna Vinschen 8b1e0815ab * cygcheck.cc (dump_sysinfo): Add missing "Server Foundation" to
products array.
2009-07-23 09:12:18 +00:00
Corinna Vinschen 07271a4b02 * faq-using.xml (faq.using.ipv6): Try to clarify OS specific support.
* faq-what.xml (faq.what.supported): Add Windows 7 and 2008 R2.
	* new-features.sgml: Add "and later" to rcmd news.
2009-07-23 08:49:06 +00:00
Corinna Vinschen 4a77fa092c * mount.cc (fs_info::update): Revert to open filesystem with access set
to READ_CONTROL.  If that fails, try additionally with FILE_READ_DATA.
2009-07-23 07:51:55 +00:00
Eric Blake 3f6f9155c9 * exceptions.cc (handle_exceptions): Set si_addr according to
POSIX for SIGSEGV.
2009-07-23 02:47:17 +00:00
Corinna Vinschen d974d420d4 * mount.cc (fs_info::update): Open filesystem with access set to 0.
Explain why.
2009-07-22 18:49:48 +00:00
Corinna Vinschen c9b8019225 * mount.cc: Revert accidental checkin. 2009-07-22 18:27:47 +00:00
Corinna Vinschen c45871c9c5 * path.cc (symlink_info::check): Handle STATUS_NOT_SUPPORTED from
NtCreateFile just like STATUS_EAS_NOT_SUPPORTED.
2009-07-22 18:21:09 +00:00
Corinna Vinschen 3955529c8b * mount.cc (do_mount): Replace --no-executable flag with notexec
mount option in hint for remote filesystems.
	* path.cc (getmntent): Fix typo (noexec -> notexec).
2009-07-22 16:24:17 +00:00
Corinna Vinschen 6c188691db * mount.cc (fillout_mntent): Fix typo (noexec -> notexec). 2009-07-22 16:21:33 +00:00
Corinna Vinschen ffea27fc8d * path.cc (symlink_info::check): Fix typo in comment. 2009-07-22 15:55:47 +00:00
Corinna Vinschen 4a77aea071 * fhandler.h (enum del_lock_called_from): New enumeration.
(fhandler_base::del_my_locks): Declare taking a del_lock_called_from
	as argument.
	* fhandler.cc (fhandler_base::close): Call del_my_locks with "on_close".
	(fhandler_base::fixup_after_fork): Call del_my_locks with "after_fork".
	(fhandler_base::fixup_after_exec): Call del_my_locks with "after_exec".
	* flock.cc (fhandler_base::del_my_locks): Take del_lock_called_from
	as argument.  Call node->del_my_locks with NULL handle in after_exec
	case.  Explain why.
2009-07-22 15:46:36 +00:00
Corinna Vinschen 1e497ebd33 * Makefile.in (path-mount.o): Add a rule to build stripped down version
of path.cc for usage in mount.
	(mount.exe): Add dependency to path-mount.o.
	* mount.cc (force): Convert to bool value.  Accommodate throughout.
	(from_fstab): New function.
	(do_mount_from_fstab): New function.
	(longopts): Add --all option.
	(opts): Add -a option.
	(usage): Document -a/--all option.
	(main): Handle -a option as well as single parameter.
	* path.cc: Add FSTAB_ONLY conditional to allow building path-mount.o.
	(mount_table): Remove static storage class.
	(max_mount_entry): Ditto.
	(root_here): Unused.  Remove.
	(from_fstab_line): Remove static.
	* path.h (struct mnt_t): Define here rather than in path.cc.
	(from_fstab_line): Declare.
	(mount_table): Declare.
	(max_mount_entry): Declare.
	* utils.sgml (mount): Document -a/--all option and mounting of single
	path from fstab files.
2009-07-22 10:20:26 +00:00
Corinna Vinschen a7b11fec84 * dtable.cc (dup2): Correct return value for no-op. 2009-07-21 13:29:00 +00:00
Corinna Vinschen 3a88eb1446 * lib/msimg32.def (GetDCBrushColor, GetDCPenColor): Move entry points
from here...
	* lib/gdo32.dll: ...to here.
2009-07-21 09:39:02 +00:00
Corinna Vinschen b48215aae0 * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Add special case
for MVFS.  Explain why.
	(fhandler_disk_file::utimens): Drop local variables lastaccess and
	lastwrite.  Copy timestamps right into FILE_BASIC_INFORMATION structure
	to avoid copying them twice.
2009-07-21 08:10:36 +00:00
Corinna Vinschen 20fc2f4936 * wincap.h (wincaps::has_always_all_codepages): New element.
* wincap.cc: Implement above element throughout.
	* wchar.h (__sjis_mbtowc): Declare.
	(__eucjp_mbtowc): Ditto.
	(__gbk_mbtowc): Ditto.
	(__kr_mbtowc): Ditto.
	(__big5_mbtowc): Ditto.
	* syscalls.cc (internal_setlocale): Convert to char * function.
	Return parameter by default.  Return NULL if request to use a
	charset can't be satisfied due to missing codepage support in the
	underlying OS.  Fix comment.
	(setlocale): Store original locale.  Restore to original locale if
	internal_setlocale returns NULL.
2009-07-20 15:44:55 +00:00
Corinna Vinschen cb8ee36ae8 * Makefile.in (all): Fix wrong target names.
(cygwin-ug-net/cygwin-ug-net-nochunks.html.gz): Ditto.
	(cygwin-ug-net/cygwin-ug-net.pdf): Convert to use docbook2pdf.
	(cygwin-api/cygwin-api.pdf): Ditto.
2009-07-20 15:08:08 +00:00
Corinna Vinschen 637a1aec8f * fork.cc (fork): Create local tmp_pathbuf. Explain why. 2009-07-20 14:16:06 +00:00
Corinna Vinschen 7bdb64ea18 * faq: Throughout, revert references to User's Guide to default URL. 2009-07-20 10:10:48 +00:00
Corinna Vinschen 3b882cb484 * new-features.sgml (ov-new1.7-misc): Add stdc++ new/delete wrappers. 2009-07-20 08:57:54 +00:00
Corinna Vinschen 21b008b40c * new-features.sgml (ov-new1.7-posix): Add WCONTINUED, WIFCONTINUED. 2009-07-20 08:49:21 +00:00
Corinna Vinschen c44bd26d19 * setup2.sgml (setup-locale-charsetlist): Fix ISO88-59-13 and -15
codepage numbers.
2009-07-20 08:32:39 +00:00
Christopher Faylor acced2cea2 * exceptions.cc (sig_handle_tty_stop): Set stopsig to SIGCONT when continuing.
(stopped_or_terminated): Honor WCONTINUED.
* wait.cc (wait4): Ditto.
* include/cygwin/wait.h (WCONTINUED): Define.
(__W_CONTINUED): Ditto.
(WIFCONTINUED): Ditto.
2009-07-18 20:25:07 +00:00
Chris Sutcliffe d4e45e3b99 2009-07-18 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
* include/inttypes.h include/math.h include/stdio.h include/stdlib.h
        include/string.h include/unistd.h include/wchar.h: Add __NO_INLINE__ guard
        to all inline functions.
2009-07-18 15:19:03 +00:00
Chris Sutcliffe affde4a6b3 2009-07-18 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
* CRT_fp8.c: Add PCC alternative to GCC-specific constructs.
        * CRT_fp10.c: Ditto.
2009-07-18 15:09:18 +00:00
Chris Sutcliffe ab4b248152 2009-07-18 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
* cpu_features.c: replace gcc-specific construct with portable alternative
        and match the code a few lines above.
        * crt1.c: remove gcc-specific noreturn attribute with mingw alternative
2009-07-18 15:05:20 +00:00
Chris Sutcliffe f9a5b8ea6a 2009-07-18 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
* include/_mingw.h: Changes required for PCC compiler.
2009-07-18 14:56:47 +00:00
Chris Sutcliffe 52e4653d43 2009-07-18 Jeff Lu <jll544@yahoo.com>
* mingwex/usleep.c: round up to next ms
2009-07-18 14:41:23 +00:00
Chris Sutcliffe b5fb6b0dc3 2009-07-17 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* mingwex/math/cephes_mconf.h mingwex/math/erfl.c mingwex/math/lgamma.c
        mingwex/math/lgammal.c mingwex/math/powl.c mingwex/math/sinhl.c
        mingwex/math/tanhl.c mingwex/math/tgamma.c mingwex/math/tgammal.c: Based on
        the fixes from the mingw-w64 code tree, fixed strict-aliasing issues.
2009-07-18 01:39:52 +00:00
Dave Korn c627d4ddd0 * libstdcxx_wrapper.cc (operator delete): Remove stray space in
asm name.
2009-07-17 23:37:05 +00:00
Christopher Faylor 5e78ead367 revert erroneous checkin 2009-07-17 22:51:28 +00:00
Christopher Faylor 486a2c9610 * cygtls.cc (_cygtls::init_exception_handler): Test for e, not e->prev or we
could still end up adding our handler twice.  Add comment explaining what we're
doing.
* dll_init.cc (dll_dllcrt0_1): Clarify comment.
2009-07-17 18:17:11 +00:00
Christopher Faylor d2445fa2cc * cygtls.cc (_cygtls::init_exception_handler): Avoid adding our exception
handler twice.
2009-07-17 16:54:21 +00:00
Corinna Vinschen 8319377680 * syscalls.cc (unlink_nt): Just return when a sharing violation
occurs on remote filesystems.
2009-07-17 16:45:22 +00:00
Corinna Vinschen 0fb0fb8391 * globals.cc: Improve comment on R/O UNICODE_STRINGs.
* mount.h (class fs_info): Add is_mvfs bit.
	* mount.cc (fs_info::update): Recognize MVFS remote filesystem.
	(fillout_mntent): Reorder filesystem checks for speed.  Add
	mvfs, unixfs, and sunwnfs filesystem types.
	* path.h (class path_conv): Add fs_is_mvfs method.
	* path.cc (symlink_worker): On MVFS, always create symlinks as
	Windows shortcuts.  Explain why.
2009-07-17 09:00:19 +00:00
Corinna Vinschen d6f45fb002 * syscalls.cc (unlink_nt): First remove the R/O DOS attribute with
FILE_WRITE_ATTRIBUTES access only, then re-open the file for DELETE.
	Explain why.
2009-07-16 16:55:25 +00:00
Corinna Vinschen 76cf56714e * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Remove file
attribute check already done in NtSetAttributesFile.
2009-07-16 15:28:57 +00:00
Corinna Vinschen fc261e53f0 * globals.cc: Reorder constant UNICODE_STRINGs for clarity.
* mount.h (fs_info::sttaus): Move filesystem type flags into
	substructure.  Add union to allow simple test for having set any
	one filesystem type flag.  Replace has_buggy_open flag with is_sunwnfs
	flag.  Replace has_buggy_fileid_dirinfo with is_unixfs flag.
	(fs_info::got_fs): New private method.
	(fs_info::has_buggy_open): New explicit implementation.
	(fs_info::has_buggy_fileid_dirinfo): Ditto.
	* mount.cc (fs_info::update): Optimize filesystem checks for speed.
	* winsup.h (IMPLEMENT_STATUS_FLAG): Change write accessor to return
	value just set.
2009-07-16 09:56:25 +00:00
Corinna Vinschen 5e5a843711 * fhandler_netdrive.cc (GET_RESOURCE_INFO): Remove.
(thread_netdrive): Drop GET_RESOURCE_INFO case.
	(fhandler_netdrive::exists): Use GET_RESOURCE_OPENENUM info class
	to check for existance.
2009-07-15 18:18:03 +00:00
Corinna Vinschen 8b800efea5 * strace.cc (main): Open trace output file in UNIX mode. 2009-07-15 15:18:51 +00:00
Corinna Vinschen f84aaff222 * fhandler_netdrive.cc (fhandler_netdrive::readdir): Remove useless
alloca.
2009-07-15 14:31:51 +00:00
Corinna Vinschen b31ca33dcc * path.cc (cwdstuff::set): Only fix up UNC path in win32 so as not
to overwrite incoming path.
2009-07-15 13:27:34 +00:00
Corinna Vinschen 8deb411836 Throughout avoid having to initialize constant UNICODE_STRINGs.
* globals.cc: Define constant UNICODE_STRINGs and store in .rdata
	section.
	* fhandler_disk_file.cc: Throughout, use readonly UNICODE_STRINGs
	rather then initializing local UNICODE_STRING variable where
	applicable.
	* fhandler_mem.cc (fhandler_dev_mem::open): Ditto.
	* flock.cc (inode_t::inode_t): Ditto.
	* mmap.cc: Ditto.
	* syscalls.cc: Ditto.
	* mount.cc (fs_info::update): Ditto.
	* path.cc: Ditto.

	* ntdll.h (RtlEqualUnicodePathPrefix): Redefine to take prefix as
	UNICODE_STRING.
	(RtlEqualUnicodePathSuffix): Redefine to take suffix as UNICODE_STRING.
	* fhandler_disk_file.cc: Accommodate throughout.
	* mount.cc (fs_info::update): Ditto.
	* path.cc (cwdstuff::set): Ditto.
	* syscalls.cc: Ditto.
2009-07-14 17:37:42 +00:00
Corinna Vinschen 472345a06c * globals.cc (active_codepage): Remove. 2009-07-14 16:24:33 +00:00