summaryrefslogtreecommitdiffstats
path: root/winsup
Commit message (Collapse)AuthorAgeFilesLines
* Adapt to changes in newlib's sys/cdefs.h:Corinna Vinschen2013-04-224-7/+9
| | | | | | * include/sys/sysinfo.h (struct sysinfo): Rename __unused member to __f. * libc/fts.c (__FBSDID): Drop definition. * regex/regexec.c (__unused): Drop definition.
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 19.Corinna Vinschen2013-04-222-2/+6
|
* * glob.cc: Include winsup.h before anything else.Corinna Vinschen2013-04-162-4/+8
|
* * path.cc (symlink_info::check): Drop PC_KEEP_HANDLE flag forCorinna Vinschen2013-04-122-14/+22
| | | | | unrecognized reparse points as well. Reorganize code and comments handling reparse points for better readability.
* * hires.h (hires_ns::nsecs): Declare with bool parameter.Corinna Vinschen2013-04-113-4/+11
| | | | | * times.cc (hires_ns::nsecs): Take bool parameter. If set to true, don't use prime value (== return system wide absolute value).
* fix YA typoChristopher Faylor2013-04-091-1/+1
|
* * cygtls.h (_cygtls::reset_signal_arrived): Actually reset the signal_arrivedChristopher Faylor2013-04-097-141/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* fix typoChristopher Faylor2013-04-081-1/+1
|
* * fhandler_socket.cc (get_inet_addr): Handle abstract AF_LOCAL socket.Corinna Vinschen2013-04-082-4/+39
| | | | | (fhandler_socket::recv_internal): Create abstract socket name for AF_LOCAL datagram sockets. Explain why we do that.
* * cygheap.cc (init_cygheap::find_tls): Add a comment.Christopher Faylor2013-04-074-6/+16
| | | | | | | | * 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.
* * mmap.cc (is_mmapped_region): Call LIST_UNLOCK on premature return.Corinna Vinschen2013-04-052-1/+8
|
* * fhandler_proc.cc (format_proc_loadavg): Raise too small buffer sizeCorinna Vinschen2013-04-032-1/+6
| | | | to avoid overwriting unrelated cygheap memory.
* * path.cc (class suffix_scan): Add member namelen.Corinna Vinschen2013-04-032-7/+40
| | | | | | | | | | (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.
* .Christopher Faylor2013-04-011-0/+5
|
* whitespaceChristopher Faylor2013-03-314-6/+6
|
* * child_info.h (cygheap_exec_info::sigmask): Declare new field.Christopher Faylor2013-03-3110-62/+111
| | | | | | | | | | | | | | | | | | | | | | | * 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.
* whitespaceChristopher Faylor2013-03-311-1/+0
|
* * cygthread.cc (cygthread::terminate_thread): Only try to freeCorinna Vinschen2013-03-294-12/+33
| | | | | | thread stack on systems not freeing it by themselves. * wincap.h (wincaps::terminate_thread_frees_stack): New element. * wincap.cc: Implement above element throughout.
* * pinfo.h (pinfo::status_exit): Rename from former static function in pinfo.cc.Christopher Faylor2013-03-294-6/+25
| | | | | | | (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.
* * sigproc.cc (wait_sig): Avoid uninitialized use of nb when retrying.Christopher Faylor2013-03-292-17/+11
| | | | Consolidate two error messages into one.
* * sigproc.cc (pending_signals::retry): Declare new element.Christopher Faylor2013-03-292-41/+32
| | | | | | | | | (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.
* * exceptions.cc (exception::handle): Generalize comment.Christopher Faylor2013-03-282-1/+5
|
* * faq-what.xml (faq.what.supported): Mention Windows 8 and Server 2012.Corinna Vinschen2013-03-272-3/+9
| | | | Change sentence on native 64 bit version.
* test checkinChristopher Faylor2013-03-191-1/+1
|
* add newsChristopher Faylor2013-03-091-0/+4
|
* * cygtls.h (_cygtls::signal_debugger): Change argument type.Christopher Faylor2013-03-093-24/+42
| | | | | | | | | (_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.
* * spawn.cc (child_info_spawn::worker): Save and restore my_wr_proc_pipe aroundChristopher Faylor2013-03-092-5/+20
| | | | | non-execing operations to avoid handle leak seen in http://cygwin.com/ml/cygwin/2013-03/msg00152.html .
* * include/sys/un.h (UNIX_PATH_MAX): Rename from UNIX_PATH_LEN toCorinna Vinschen2013-03-073-12/+48
| | | | | | | | 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.
* * fhandler_socket.cc (fhandler_socket::bind): Fix check for AF_LOCALCorinna Vinschen2013-03-072-15/+37
| | | | | | | | 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.
* * mount.cc (fs_names): Add trailing NULL element to avoid potentialCorinna Vinschen2013-03-062-1/+7
| | | | SEGV in format_proc_filesystems.
* * faq-using.xml: Fix expression and uppercase Samba.Corinna Vinschen2013-03-062-2/+6
|
* Remove now-inappropriate comment.Christopher Faylor2013-03-011-2/+0
|
* fix latest changelog descriptionChristopher Faylor2013-03-011-1/+1
|
* * exceptions.cc (exception::handle): Eliminate buggy recursed value and justChristopher Faylor2013-03-012-3/+8
| | | | check if we're exiting.
* * include/pthread.h (pthread_atfork): Add missing declaration.Corinna Vinschen2013-02-262-0/+6
|
* * include/error.h (error_message_count): Declare as dllimport.Yaakov Selkowitz2013-02-212-0/+12
| | | | | (error_one_per_line): Ditto. (error_print_progname): Ditto.
* * Makefile.in (CYGWIN_LDFLAGS): Replace -static-lib* with -static.Yaakov Selkowitz2013-02-212-3/+9
| | | | | (MINGW_LDFLAGS): Ditto. (ZLIB): Simplify accordingly.
* * pathnames.sgml: Remove stray '@'.Christopher Faylor2013-02-132-1/+5
|
* * pathnames.sgml: Clarify '@' processing.Christopher Faylor2013-02-132-5/+9
|
* * child_info.h (CURR_CHILD_INFO_MAGIC): Update.Corinna Vinschen2013-02-082-4/+9
| | | | (class child_info_fork): Drop extraneous semicolon.
* * fhandler_socket.cc (fhandler_socket::bind): Fix error code forCorinna Vinschen2013-02-042-1/+6
| | | | empty filename.
* * fhandler_socket.cc (fhandler_socket::bind): Fix length check ofCorinna Vinschen2013-02-042-4/+12
| | | | | AF_LOCAL filename so it never accesses memory beyond namelen. Also make sure filename is NUL-terminated.
* * DevNotes: Add entry cgf-000022.Christopher Faylor2013-01-319-68/+100
| | | | | | | | | | | | | | | | | | | | | | * cygtls.h (_cygtls::func): Define as a sa_sigaction style function. * exceptions.cc (sig_handle_tty_stop): Ditto. (_cygtls::interrupt_setup): Fix coercion to accommodate 'func' change. (ctrl_c_handler): Use tty kill_pgrp to send a signal. (sigpacket::process): Don't process sigflush here. (_cygtls::call_signal_handler): Reorganize to avoid a race. Always call sa_sigaction style function. * fhandler_termios.cc (is_flush_sig): Define new function. (tty_min::kill_pgrp): Handle tty flush when signal detected. (fhandler_termios::bg_check): Be slightly more paranoid about checking for valid tty. (fhandler_termios::sigflush): Don't flush unless tty owner. * fhandler_tty.cc (fhandler_pty_slave::ioctl): Use tty kill_pgrp to send signal. (fhandler_pty_master::ioctl): Ditto. * signal.cc (killsys): Delete definition. * sigproc.h (killsys): Delete declaration. * include/cygwin/signal.h (siginfo_t): Simplify union/struct nesting slightly. Implement mechanism to allow cygwin data passing.
* * faq-programming.xml: Remove reference to "make check".Christopher Faylor2013-01-232-3/+6
|
* * miscfuncs.cc (__import_address): Check if malloc field points directly atChristopher Faylor2013-01-232-1/+7
| | | | 'malloc'.
* * miscfuncs.cc (__import_address): On second thought, the chance that thisChristopher Faylor2013-01-232-1/+6
| | | | pointer could be NULL is very low so don't bother checking for it.
* * exceptions.cc (exception::handle): Make attempt to recursively dump stackChristopher Faylor2013-01-232-1/+6
| | | | fatal.
* * miscfuncs.cc (__import_address): Avoid NULL explicitly.Christopher Faylor2013-01-232-1/+5
|
* * miscfuncs.cc (__import_address): Avoid treating random instructions as importChristopher Faylor2013-01-233-2/+12
| | | | | jump. * malloc_wrapper.cc (malloc_init): Remove comment about 64-bit.
* * dcrt0.cc (dll_crt0_1): Comment assumption.Christopher Faylor2013-01-213-0/+12
| | | | | * exceptions.cc (sigpacket::setup_handler): Avoid sending signals during fork processing.