Commit Graph

9274 Commits

Author SHA1 Message Date
Corinna Vinschen 1d928241e1 * glob.cc (MAXPATHLEN): Reinstantiate with a value of 8192. 2012-03-07 10:12:28 +00:00
Corinna Vinschen 86b87ffa9b * pinfo.cc (_pinfo::dup_proc_pipe): Fix order of arguments in debug
output.
2012-03-05 12:12:10 +00:00
Corinna Vinschen 292cd759a1 * init.cc (dll_entry): Move wincap.init call back from here...
* dcrt0.cc (dll_crt0_0): ...to here.
2012-03-05 12:09:22 +00:00
Corinna Vinschen a3904c655e * cygheap.h (enum fcwd_version_t): Move here from path.cc.
(class fcwd_access_t): Ditto.  Only declare methods.
	(class cwdstuff): Move fast_cwd_ptr and fast_cwd_version from shared
	DLL section here.
	* path.cc: Keep fcwd_access_t method definitions.
	(fcwd_access_t::fast_cwd_version): New method.
	(find_fast_cwd_pointer): Change comment.  Mention test on W8CP.
	(cwdstuff::init): Initialize fast_cwd_ptr and fast_cwd_version.
2012-03-05 11:50:25 +00:00
Corinna Vinschen 75effa37fc * dll_init.cc (dll_list::operator[]): Extend comment a bit more to
explain previous patch.
2012-03-05 10:27:44 +00:00
Corinna Vinschen f5b0d9d414 * dll_init.cc (dll_list::alloc): Compare linked DLLs by basename only.
Explain why.  Add code to check if a DLL with the same basename but
	different path is the same DLL.  Bail out if not.
	(in_load_after_fork): New static NO_COPY bool to allow to differ
	between linked and loaded DLL at fork.
	(dll_list::load_after_fork): Set in_load_after_fork accordingly.
	(dll_dllcrt0_1): Don't treat DLL as linked if in_load_after_fork is set.
	Drop test for in_forkee.
2012-03-04 16:47:45 +00:00
Corinna Vinschen 50124fc056 * dll_init.cc: Revert pathname changes from 2012-02-08.
(dll_list::operator[]): Add long comment to explain the misery.
	(dll_list::alloc): Skip long pathname prefix potentially returned by
	GetModuleFileNameW.
	* dll_init.h (dll_list::find_by_modname): Add back declaration.
2012-03-04 13:50:12 +00:00
Corinna Vinschen cd78c479f4 * winver.rc: Bump copyright date. 2012-03-04 13:19:21 +00:00
Christopher Faylor bd7c945953 * fhandler_console.cc (fhandler_console::dup): Only set ctty when we haven't
specifically called setsid.
* fhandler_tty.cc (fhandler_pty_slave::dup): Ditto.  Also add comment
documenting research into rxvt problem.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Don't check specifically
for myself->ctty == -1.  Test for > 0 as that is the correct test.
(fhandler_termios::sigflush): Ditto.
2012-03-03 21:35:30 +00:00
Corinna Vinschen 56bed67046 * flock.cc (allow_others_to_sync): Reorder conditional expression to
check for DACL presence first, since otherwise dacl pointer value is
	undefined.  Add comment.
2012-03-02 17:20:11 +00:00
Corinna Vinschen b4ad7197fb * flock.cc (allow_others_to_sync): Use RtlGetDaclSecurityDescriptor
rather than accessing the SECURITY_DESCRIPTOR structure directly.
	Take no DACL and NULL DACL into account.
2012-03-02 17:07:17 +00:00
Corinna Vinschen 3118315f06 Fix typo in ChangeLog entry 2012-03-02 12:01:27 +00:00
Corinna Vinschen 109bc58303 * fhandler_console.cc (fhandler_console::input_tcsetattr): Revert
prevois patch.
	(fhandler_console::open_setup): Install Ctrl-C handler here, if this
	console is the controlling tty and the process hasn't been started by
	a Cygwin process.
2012-03-02 11:56:06 +00:00
Corinna Vinschen bfeed1643e * fhandler_console.cc (fhandler_console::input_tcsetattr): Set the
state of the Ctrl-C handler depending on the setting of
	ENABLE_PROCESSED_INPUT.
2012-03-02 10:17:16 +00:00
Yaakov Selkowitz 521b39b4c7 * faq-programming.xml (faq.programming.make-execvp): Remove obsolete
information about Tcl/Tk.
(faq.programming.dll-relocatable): Ditto.
* faq-using.xml (faq.using.tcl-tk): Rewrite to reflect switch to
X11 Tcl/Tk.
2012-03-01 07:35:02 +00:00
Eric Blake 580df3b6ae tcgetsid: fix return type
* include/sys/termios.h (tcgetsid): Fix return type.
* termios.cc (tcgetsid): Likewise.
* fhandler_termios.cc (fhandler_termios::tcgetsid): Likewise.
* fhandler.h (fhandler_base): Likewise.
* fhandler.cc (fhandler_base::tcgetsid): Likewise.
2012-02-28 14:03:03 +00:00
Corinna Vinschen d783d46cca * cygtls.cc (well_known_dlls): Add shlwapi.dll. 2012-02-28 09:44:14 +00:00
Yaakov Selkowitz f6fbdb3a6f * faq-using.xml (faq.using.bloda): Fix missing closing parenthesis. 2012-02-27 19:45:26 +00:00
Corinna Vinschen 07a6b9dd22 * cygtls.cc (dll_cmp): New comparison function for bsearch.
(well_known_dlls): New array containing well-known DLLs.
	(_cygtls::call2): Add code for BLODA detection.
	* net.cc (fdsock): Ditto.
2012-02-27 11:55:27 +00:00
Corinna Vinschen 2c6df2a984 Drop "potentially" from latest ChangeLog entry. 2012-02-26 15:49:31 +00:00
Corinna Vinschen 97ad248f0c * environ.cc (enum settings): Add setbool. Rename justset to setdword
to avoid future problems.
	(struct parse_thing): Change all justset to setbool for bool variables.
	(parse_options): Add a case for setbool setting for bool variables
	since justset (now setdword) always writes a DWORD value, thus
	potentially overwriting adjacent memory locations.
	* external.cc (cygwin_internal): Drop extern declaration.
2012-02-26 15:47:43 +00:00
Corinna Vinschen b0af77452c * environ.cc (dos_file_warning): Drop declaration.
(ignore_case_with_glob): Ditto.
	(allow_winsymlinks): Ditto.
	(reset_com): Move definition to globals.cc.
	(struct parse_thing): Add "detect_bloda" option.
	* fhandler_serial.cc (fhandler_serial::open): Drop (incorrect)
	declaration of reset_com.
	* globals.cc (ignore_case_with_glob): Move definition into C++-only
	block.
	(dos_file_warning): Define.
	(allow_winsymlinks): Define.
	(reset_com): Define.
	(detect_bloda): Define.
	* path.cc (dos_file_warning): Drop definition here.
	(allow_winsymlinks): Drop definition here.
2012-02-26 14:01:32 +00:00
Corinna Vinschen dbf576fd86 * flock.cc (LOCK_DIR_NAME_FMT): Define.
(LOCK_DIR_NAME_LEN): Define.
	(LOCK_DIR_NAME_DEV_OFF): Define.
	(LOCK_DIR_NAME_INO_OFF): Define.
	(LOCK_OBJ_NAME_FMT): Define.  Add comment.
	(class lockf_t): Use bitsize-explicit types.  Declare from_obj_name,
	(class inode_t): Make use, unuse and inuse methods public.  Add a
	lock argument to get method declaration.
	(inode_t::get): Add lock argument.  Only lock node if lock arg is true.
	(inode_t::inode_t): Use LOCK_DIR_NAME_FMT as format string.
	(lockf_t::from_obj_name): New method to generate lockf_t content from
	lock event object basename.
	(inode_t::get_all_locks_list): Just call from_obj_name here and copy
	result into final lockf_t.
	(create_lock_obj_attr): Use LOCK_OBJ_NAME_FMT as format string.
	(create_lock_in_parent): New thread function to create lockf_t
	structure in parent process.
	(delete_lock_in_parent): New thread function to reap stale BSD locks in
	parent process.
	(lockf_t::create_lock_obj): Try to duplicate lock object handle into
	parent process and call create_lock_in_parent as parent remote thread.
	(lockf_t::del_lock_obj): Call delete_lock_in_parent as parent remote
	thread.
	(fhandler_disk_file::lock): Add lock arg to inode_t::get call.
2012-02-26 12:34:17 +00:00
Christopher Faylor 704bb69dcb * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 12. 2012-02-25 17:32:38 +00:00
Corinna Vinschen a1e89eba9b * new-features.sgml (ov-new1.7.11): Add two more changes to the list. 2012-02-25 10:51:32 +00:00
Corinna Vinschen 5ffd5f300f *** empty log message *** 2012-02-25 10:48:35 +00:00
Yaakov Selkowitz 7ab41ee33a * pldd.c: Fix typo in license header. 2012-02-24 21:53:28 +00:00
Yaakov Selkowitz 769e28572c * pldd.c: Fix formatting. 2012-02-24 10:38:20 +00:00
Yaakov Selkowitz 10c8aafdb8 Document pldd. 2012-02-24 10:21:34 +00:00
Yaakov Selkowitz 75f1400b26 * new-features.sgml (ov-new1.7.11): Document pldd. 2012-02-24 10:20:00 +00:00
Yaakov Selkowitz e2bf82d361 * Makefile.in (CYGWIN_BINS): Add pldd.
(pldd.exe): Add -lpsapi to ALL_LDFLAGS.
* pldd.c: New file.
* utils.sgml (pldd): New section.
2012-02-24 10:19:01 +00:00
Yaakov Selkowitz e0af71f092 Document scandirat. 2012-02-22 02:07:07 +00:00
Yaakov Selkowitz b9bbba80cf * new-features.sgml (ov-new1.7.11): New section. Document scandirat. 2012-02-22 02:06:15 +00:00
Yaakov Selkowitz e587f14b6f * cygwin.din (scandirat): Export.
* posix.sgml (std-gnu): Add scandirat.
	* syscalls.cc (scandirat): New function.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
	* include/sys/dirent.h (scandirat): Declare.
2012-02-22 01:58:24 +00:00
Corinna Vinschen 801bf9f272 * shared.cc (shared_info::init_obcaseinsensitive): Check actual state
of case sensitivity on post-Windows 2000 systems.
	* wincap.h (wincaps::kernel_is_always_casesensitive): New element.
	* wincap.cc: Implement above element throughout.
2012-02-21 17:03:51 +00:00
Corinna Vinschen db05364aa9 * faq-using.xml (faq.using.bloda): Add AVAST and Citrix Metaframe
Presentation Server.
2012-02-21 16:26:36 +00:00
Corinna Vinschen 3c53eaeb5b * flock.cc (inode_t::del_my_locks): Drop useless counter lc. Close
lock object handle explicitely in case of called during fork.  Add
	comment to explain why.
	* fork.cc (frok::child): Drop declaration of fixup_lockf_after_fork.
2012-02-20 14:08:37 +00:00
Corinna Vinschen 2196614e3d * timer.cc (getitimer): Don't create another local ret variable in
timer_gettime calling branch.  Simplify conditional since timer_gettime
	always returns 0 or -1 anyway.
2012-02-17 17:34:01 +00:00
Corinna Vinschen 1cb1472404 * ntdll.h (struct _PEB): Add EnvironmentUpdateCount member.
* spawn.cc (child_info_spawn::worker): Speed up job recognition.  Expand
	comment to explain every little detail and so we never forget.
	* wincap.h (wincaps::has_program_compatibility_assitant): New element.
	* wincap.cc: Implement above element throughout.
2012-02-17 14:26:18 +00:00
Corinna Vinschen e86c278998 * mount.cc (get_disk_type): Drop unneeded toupper call. Convert case
constants to wide chars.
2012-02-17 14:17:12 +00:00
Corinna Vinschen 732f3bc821 *** empty log message *** 2012-02-16 11:12:00 +00:00
Corinna Vinschen 9de0461985 * autoload.cc (NetUseGetInfo): Define.
* fhandler_disk_file.cc (fhandler_cygdrive::opendir): Rename flptst
	to drive.  Call new get_disk_type function rather than is_floppy and
	check SMB drives with the NetUseGetInfo function.  Explain why.
	* mount.cc (get_disk_type): New function to evaluate disk type from
	native NT device name.
	(is_floppy): Remove.
	* mount.h (enum disk_type): Define.
	(get_disk_type): Declare.
	* path.h (is_floppy): Drop declaration.
2012-02-16 11:02:05 +00:00
Corinna Vinschen fb97e87479 * miscfuncs.cc: Revert change from 2012-02-13 which used the
Windows-provided stack rather than an own stack created in
	CygwinCreateThread.
	(struct thread_wrapper_arg): Rename commitsize to stacklimit.
	(CygwinCreateThread): Rename commitsize to real_stacklimit.
2012-02-15 21:34:06 +00:00
Corinna Vinschen 5e7c84e554 * dtable.cc (dtable::init_std_file_from_handle): Use tmp_pathbuf for
name.
	(handle_to_fn): Ditto for device.  Fix size in QueryDosDeviceW call.
2012-02-15 16:11:36 +00:00
Christopher Faylor a0f4e7d3f1 * smallprint.cc (tmpbuf): Declare new class holding a static buffer, protected
by a lock.
(__small_vsprintf): Use tmpbuf to hold large buffer.
(__small_vswprintf): Ditto.
2012-02-15 15:33:56 +00:00
Corinna Vinschen 5eb802f8ed * flock.cc (lf_setlock): Add timeout variable and set before calling
WFMO.  Drop debug output if process is not available.  Set timeout to
	0 instead.  Document timeout 0 in WFMO comment.
	(lf_getblock): Drop invalid F_POSIX lock type shortcut.  Only return
	overlap if event is not signalled.  Fix comment.
2012-02-15 14:43:07 +00:00
Christopher Faylor 1423a93374 . 2012-02-14 20:04:59 +00:00
Christopher Faylor 4eb5175d90 * pinfo.cc (_pinfo::set_ctty): Revert 2012-02-07 change to skip function if tty
in question == our ctty.
* syscalls.cc (setsid): Avoid two function calls.
* dtable.cc (dtable::dup_worker): Remove debugging.
* init.cc (search_for): Calculate for every new process rather than using
shared value.
(threadfunc_ix): Fill in for ever new process rather than sing shared value.
2012-02-14 19:08:20 +00:00
Corinna Vinschen 5401796acf * fhandler_disk_file.cc (fhandler_cygdrive::fstat): Don't bother to
set st_nlink correctly, just set it to 1 to avoid potential network
	timeouts.
2012-02-14 15:22:13 +00:00
Corinna Vinschen ab9108200f * transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):
Always use cygwin_internal to fetch installation key.
2012-02-14 14:12:11 +00:00