Commit Graph

11395 Commits

Author SHA1 Message Date
f821269534 * autoload.cc (CreateSymbolicLinkW): Rename from CreateSymbolicLink. 2013-04-30 00:52:46 +00:00
151f737ab0 * fcntl.cc (fcntl): Define as export alias for fcntl64 on x86_64. 2013-04-26 18:20:17 +00:00
453c3a5fe8 * faq-programming.xml (faq.programming.64bitporting): Fix typo. 2013-04-25 10:16:01 +00:00
77dcee573c * faq-programming.xml (faq.programming.64bitporting): Extend entry.
(faq.programming.64bitporting-fail): New entry.
	(faq.programming.64bitporting-cygwin64): New entry.
2013-04-25 10:14:26 +00:00
21470a3ca9 * faq-programming.xml (faq.programming.64bitporting): Mention the
-Wformat and -Wall gcc options.
2013-04-24 17:33:30 +00:00
895ece0124 * faq-programming.xml (faq.programming.64bitporting): New FAQ entry.
(faq.programming.objective-c): Include gcc4.
	(faq.programming.make-execvp): Drop text discouraging usage of -j.
	(faq.programming.undeclared-functions): Drop entry.
	(faq.programming.x86-assembly): Ditto.
	(faq.programming.djgpp): Ditto.
2013-04-24 16:09:43 +00:00
79b4d1beb0 Fix date in latest ChangeLog entry 2013-04-24 16:06:55 +00:00
09caddaaf5 * cygwinenv.sgml (cygwinenv-implemented-options): Change description
for winsymlink option to explain new implementation.
	* new-features.sgml (ov-new1.7.19): Add support for native symlinks and
	AFS.
2013-04-24 10:18:08 +00:00
9ecd475cd8 * autoload.cc (CreateSymbolicLink): Define.
* environ.cc (set_winsymlinks): Set allow_winsymlinks.
	(parse_thing): Change "winsymlinks" to set by function.
	* globals.cc (enum winsym_t): Define.
	(allow_winsymlinks): Define as winsym_t.
	(ro_u_afs): New R/O Unicode string.
	* mount.cc (fs_info::update): Fix comment.  Handle AFS.
	(fs_names): Add "afs".
	* mount.h (enum fs_info_type): Add afs.
	(class fs_info): Implement afs.
	* path.cc (symlink): Drop third parameter in call to symlink_worker.
	(symlink_nfs): New function.
	(symlink_native): New function.
	(symlink_worker): Drop third argument.  Handle native symlink type by
	calling symlink_native.  Move code to handle NFS to symlink_nfs.  Fix
	formatting.  Slightly restructure code.
	* path.h (class path_conv): Add fs_is_afs method.
	(symlink_worker): Declare here.
	* security.h: Define privilege constants as unsigned int instead of as
	unsigned long.
	* syscalls.cc (mknod_worker): Set third parameter in symlink_worker
	call to WSYM_lnk.
	* winsup.h (symlink_worker): Drop declaration here.
2013-04-24 10:16:13 +00:00
842cf66533 * Throughout, eliminate Windows 2000 from the documentation.
* overview.sgml (brief-history): Mention native AMD64 support.
2013-04-23 15:59:21 +00:00
f35d64f8d0 * Makefile.in (SGMLDIRS): Accommodate dropping utils_source and
cygwin_source from ../Makefile.common.
	* new-features.sgml (ov-new1.7.19): New section.  Document dropped
	support for pre-XP SP3 and added support for 64 bit Cygwin.
2013-04-23 15:49:08 +00:00
39bf1f15e7 *** empty log message *** 2013-04-23 14:58:20 +00:00
629b2a7e19 * cygwin64.din (_setjmp): Export.
(_longjmp): Export.
2013-04-23 10:03:39 +00:00
61522196c7 * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
40702aef2c * include/sys/queue.h: Delete in favor of more complete newlib file. 2013-04-22 10:35:02 +00:00
a1467f6434 Adapt to changes in newlib's sys/cdefs.h:
* include/sys/sysinfo.h (struct sysinfo): Rename __unused member to __f.
	* libc/fts.c (__FBSDID): Drop definition.
	* regex/regexec.c (__unused): Drop definition.
2013-04-22 10:33:09 +00:00
fc1ff1150c * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 19. 2013-04-22 10:13:30 +00:00
48f81ac677 * glob.cc: Include winsup.h before anything else. 2013-04-16 10:20:25 +00:00
492ee4ee4b * path.cc (symlink_info::check): Drop PC_KEEP_HANDLE flag for
unrecognized reparse points as well.  Reorganize code and comments
	handling reparse points for better readability.
2013-04-12 08:30:47 +00:00
8f81761b69 * hires.h (hires_ns::nsecs): Declare with bool parameter.
* times.cc (hires_ns::nsecs): Take bool parameter.  If set to true,
	don't use prime value (== return system wide absolute value).
2013-04-11 19:49:58 +00:00
b49dae4a44 fix YA typo 2013-04-09 01:23:41 +00:00
9d2155089e * cygtls.h (_cygtls::reset_signal_arrived): Actually reset the signal_arrived
event.
(_cygtls::handle_SIGCONT): Declare ew function.
* cygwait.cc (is_cw_sig_handle): Delete.
(is_cw_sig_cont): New convenience define.
(cygwait): Clear signal if is_cw_sig_cont and we got a SIGCONT.
* cygwait.h (cw_wait_mask): Add cw_sig_cont.
* exceptions.cc (sig_handle_tty_stop): Tighten "incyg" region.  Use cw_sig_cont
param for cygwait.  Don't zero signal here outside of lock.
(sigpacket::setup_handler): Don't check for in_forkee since we will now never
get here in that state.
(_cygtls::handle_SIGCONT): Define new function.
(sigpacket::process): Call handle_SIGCONT early to deal with SIGCONT.  Nuke
continue_now handling.  Allow SIGKILL to kill a suspended process.  Delete a
couple of now-unneeded labels.
(_cygtls::call_signal_handler): Reorganize setting of incyg within lock.
* sigproc.cc (pending_signals): Simplify.
(pending_signals::clear): New method.
(_cygtls::remove_wq): Reorganize to always close wq.thread_ev if it exists to
avoid handle leaks.
(sig_clear): Simplify by just calling sigq.clear().
(sig_dispatch_pending): Always call sigq.pending even in signal thread to force
another loop in wait_sig.
(sig_send): Remove a "goto out" just before out: label.
(pending_signals::add): Simplify.
(pending_signals::del): Delete.
(pending_signals::next): Delete.
(wait_sig): Define variable q to be the start of the signal queue.  Just
iterate through sigq queue, deleting processed or zeroed signals.  Only set
clearwait when the current signal is SIGCHLD.
* sigproc.h: Add a comment about an unused enum.
2013-04-09 01:01:19 +00:00
037ad80a52 fix typo 2013-04-08 17:55:57 +00:00
2617a91597 * fhandler_socket.cc (get_inet_addr): Handle abstract AF_LOCAL socket.
(fhandler_socket::recv_internal): Create abstract socket name for
	AF_LOCAL datagram sockets.  Explain why we do that.
2013-04-08 17:34:34 +00:00
f653639a22 * cygheap.cc (init_cygheap::find_tls): Add a comment.
* dcrt0.cc (parent_sigmask): Delete.
(dll_crt0_1): Use spawn_info->moreinfo->sigmask rather than saved parent signal
mask.
* thread.cc (pthread::thread_init_wrapper): Add comment stressing the
importance of maintaining ordering of statements.
2013-04-07 23:53:00 +00:00
9158bb1128 * mmap.cc (is_mmapped_region): Call LIST_UNLOCK on premature return. 2013-04-05 20:25:39 +00:00
7810aa7cdb * fhandler_proc.cc (format_proc_loadavg): Raise too small buffer size
to avoid overwriting unrelated cygheap memory.
2013-04-03 19:54:58 +00:00
d1bef83800 * path.cc (class suffix_scan): Add member namelen.
(suffix_scan::name_len): New method.
	(suffix_scan::has): Store namelen since we have it already anyway.
	Add a bit of explanation and a FIXME to comment.
	(suffix_scan::next): Never attach extra .lnk suffix if resulting
	filename length exceeds NAME_LEN.
	(symlink_info::check): Bail out immediately with ENAMETOOLONG if
	filename length exceeds NAME_LEN.
2013-04-03 11:20:36 +00:00
bbd4e05a4d . 2013-04-01 11:04:41 +00:00
4ddb658e37 whitespace 2013-03-31 12:37:45 +00:00
8f8eeb70ba * child_info.h (cygheap_exec_info::sigmask): Declare new field.
* cygheap.cc (init_cygheap::find_tls): Rename threadlist_ix -> ix.  Only take
one pass through thread list, looking for eligible threads to signal.  Set a
new param indicating that function has found a sigwait* mask.
* cygheap.h (init_cygheap::find_tls): Reflect new parameter.
* dcrt0.cc (parent_sigmask): New variable.
(child_info_spawn::handle_spawn): Save parent's signal mask here.
(dll_crt0_1): Restore parent's signal mask to tls sigmask as appropriate.  Call
sig_dispatch_pending to flush signal queue when we can finally do something
with signals.
* exceptions.cc (sigpacket::process): Avoid attempting to handle signals if we
haven't finished initializing.  Rely on the fact that find_tls will do mask
checking and don't do it again.  Delete ill-named 'dummy' variable.
* sigproc.cc (cygheap_exec_info::alloc): Save calling thread's signal mask in
new sigmask field.
(wait_sig): Try to debug when WFSO fails and DEBUGGING is defined.
* thread.cc (pthread::set_tls_self_pointer): Make this a true automatic method
rather than inexplicably relying on a thread parameter.
(pthread::thread_init_wrapper): Accommodate set_tls_self_pointer change to
non-static.  Initialize sigmask before setting tid or suffer signal races.
* ehread.h (pthread::set_tls_self_pointer): Make non-static, delete parameter.
2013-03-31 12:35:44 +00:00
4332090c2d whitespace 2013-03-31 11:05:35 +00:00
4aa4632ad2 * cygthread.cc (cygthread::terminate_thread): Only try to free
thread stack on systems not freeing it by themselves.
	* wincap.h (wincaps::terminate_thread_frees_stack): New element.
	* wincap.cc: Implement above element throughout.
2013-03-29 17:00:36 +00:00
bb93b7ab95 * pinfo.h (pinfo::status_exit): Rename from former static function in pinfo.cc.
(pinfo::operator == (char *)): Remove unused operator.
* pinfo.cc (pinfo::status_exit): Move this function info pinfo class.  Use
progname from the pinfo rather than myself.  Be defensive when inspecting
procinfo.
2013-03-29 16:19:11 +00:00
6fcb223858 * sigproc.cc (wait_sig): Avoid uninitialized use of nb when retrying.
Consolidate two error messages into one.
2013-03-29 13:18:25 +00:00
5e31c80e4e * sigproc.cc (pending_signals::retry): Declare new element.
(pending_signals::pending): Force an additional loop through wait_sig by
setting retry whenever this function is called.
(sig_send): Reorganize to wait for SIGHOLD at bottom.  Always add signal to
pending queue and work on whole queue rather than just the one signal.  Loop
when sigq.retry is set.  Fix long-broken check for SIGCHLD after queued
signals.
2013-03-29 01:22:14 +00:00
1a863e04b3 * exceptions.cc (exception::handle): Generalize comment. 2013-03-28 16:14:53 +00:00
d420513d39 * faq-what.xml (faq.what.supported): Mention Windows 8 and Server 2012.
Change sentence on native 64 bit version.
2013-03-27 16:12:30 +00:00
744f64fded test checkin 2013-03-19 16:41:42 +00:00
41090b6193 add news 2013-03-09 21:58:54 +00:00
56bc657ce4 * cygtls.h (_cygtls::signal_debugger): Change argument type.
(_cygtls::copy_context): Delete declaration.
* exceptions.cc (exception::handle): Don't call copy_context() here.  Move
signal_handler call earlier and always call it.
(_cygtls::copy_context): Delete definition.
(_cygtls::signal_debugger): Move copy_context logic here.  Suspend thread
receiving signal before gathering context information.
2013-03-09 21:55:18 +00:00
6a375e0325 * spawn.cc (child_info_spawn::worker): Save and restore my_wr_proc_pipe around
non-execing operations to avoid handle leak seen in
http://cygwin.com/ml/cygwin/2013-03/msg00152.html .
2013-03-09 00:11:31 +00:00
8981489bec * include/sys/un.h (UNIX_PATH_MAX): Rename from UNIX_PATH_LEN to
follow Linux.
	* fhandler_socket.cc: Change UNIX_PATH_LEN to UNIX_PATH_MAX throughout.
	(fhandler_socket::recv_internal): Don't return prematurely in case of
	successful return.  For AF_LOCAL sockets, overwrite returned AF_INET
	name with AF_LOCAL name.
2013-03-07 15:39:35 +00:00
b5545a7b7e * fhandler_socket.cc (fhandler_socket::bind): Fix check for AF_LOCAL
filename length to allow non-NUL terminated strings within namelen
	bytes.  Copy over sun_path to local array sun_path to have a
	NUL-terminated string for subsequent function calls.  Move path_conv
	check before OS bind call to not bind the socket before being sure
	the file doesn't exist.  Add and fix comments.
2013-03-07 11:04:28 +00:00
bd142b93ae * mount.cc (fs_names): Add trailing NULL element to avoid potential
SEGV in format_proc_filesystems.
2013-03-06 14:10:23 +00:00
0a42dbf12a * faq-using.xml: Fix expression and uppercase Samba. 2013-03-06 11:28:29 +00:00
4afefdec51 Remove now-inappropriate comment. 2013-03-01 16:28:09 +00:00
f77f82bba5 fix latest changelog description 2013-03-01 15:55:39 +00:00
aad4a3c932 * exceptions.cc (exception::handle): Eliminate buggy recursed value and just
check if we're exiting.
2013-03-01 15:48:14 +00:00
1ef8ce71a8 * include/pthread.h (pthread_atfork): Add missing declaration. 2013-02-26 10:32:36 +00:00