summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
...
* * thread.cc: Add a temporary workaround to help Cygwin along whileCorinna Vinschen2012-05-232-1/+89
| | | | | | | | | | | | | newlib doesn't install cleanup handlers. Explain the problem. (class __cygwin_lock_handler): New class. (__cygwin_lock_cleanup): New function. (__cygwin_lock_lock): Push __cygwin_lock_cleanup thread cleanup handler. (__cygwin_lock_trylock): Ditto. (__cygwin_lock_unlock): Pop thread cleanup handler. (pthread::pop_cleanup_handler): Temporarily allow cleanup function to destroy cleanup handler so we can pop in another function than we pushed in.
* * thread.cc (pthread::cancel): Only allow asynchronous cancellationCorinna Vinschen2012-05-232-2/+26
| | | | if the thread is not executing Cygwin or Windows code. Explain why.
* * thread.cc (pthread::precreate): Make sure mutex is recursive.Corinna Vinschen2012-05-232-2/+17
| | | | Explain why.
* * thread.cc (pthread::pop_cleanup_handler): Move setting the cancelstateCorinna Vinschen2012-05-232-3/+10
| | | | | | to PTHREAD_CANCEL_DISABLE from here... (pthread::pop_all_cleanup_handlers): ...to here, otherwise any explicit call to pthread_cleanup_pop disables cancellation for this thread.
* * fhandler.h (refcnt): Add i interlocked. Explain why.Corinna Vinschen2012-05-233-2/+29
| | | | | * winbase.h (ilockadd): New function. (InterlockedAdd): Define as ilockadd.
* * devices.in: Fix native name of /dev/kmem.Corinna Vinschen2012-05-225-4/+14
| | | | | | | | * devices.cc: Regenerate. * dtable.cc (fh_alloc): Don't forget FH_KMEM. * fhandler_mem.cc (fhandler_dev_mem::open): Set errno to EACCES rather than ENOENT on systems not granting access to physical memory from user space.
* * thread.cc (pthread::cancel): Set thread's cancel_event inCorinna Vinschen2012-05-222-0/+17
| | | | PTHREAD_CANCEL_ASYNCHRONOUS case, too. Explain why.
* * strace.cc (strace::activate): Move printing heap size from here...Corinna Vinschen2012-05-213-5/+16
| | | | | * heap.cc (heap_init_info): ...to here. Explain why. Print heap size in hex and decimal.
* *** empty log message ***Corinna Vinschen2012-05-211-0/+6
|
* * net.cc (cygwin_recvfrom): Don't shortcircuit if len == 0. Add commentCorinna Vinschen2012-05-212-3/+22
| | | | | | to explain why. (cygwin_recv): Ditto. (cygwin_recvmsg): Ditto.
* * fhandler_disk_file.cc (path_conv::isgood_inode): Rearrange, takeCorinna Vinschen2012-05-212-5/+25
| | | | Samba versions >= 3.5.4 into account, add comments.
* * DevNotes: Add entry cgf-000009.Christopher Faylor2012-05-173-30/+28
| | | | | | * smallprint.cc (__small_vsprintf): Always treat '%c' and '%C' as characters. Don't decode them if they are > 127. (__small_vswprintf): Ditto.
* * DevNotes: Add entry cgf-000008.Christopher Faylor2012-05-164-8/+53
| | | | | * fhandler_tty.cc (bytes_available): Simplify by returning the number of bytes available in the message unless that is zero.
* * child_info.h (CURR_CHILD_INFO_MAGIC): Update.Christopher Faylor2012-05-142-1/+5
|
* * DevNotes: Add entry cgf-000007.Christopher Faylor2012-05-146-3/+52
| | | | | | | | | * child_info.h (child_info_spawn::parent_winpid): Declare new field. (child_info_spawn::get_parent_handle): Declare new function. * dcrt0.cc (child_info_spawn::get_parent_handle): Define new function. (child_info_spawn::handle_spawn): Recreate parent handle if possible when dynamically loaded. Don't mess with parent handle if it's NULL. * spawn.cc (child_info_spawn::worker): Set parent_winpid appropriately.
* * DevNotes: Add entry cgf-000006.Christopher Faylor2012-05-124-0/+25
| | | | | * thread.cc (pthread::pop_cleanup_handler): Set cancel state to disabled to avoid recursively waiting for cancel.
* * DevNotes: Add entry cgf-000005.Christopher Faylor2012-05-125-6/+41
| | | | | | | * fhandler.h (PIPE_ADD_PID): Redefine to something we actually DON'T use. * pipe.cc (fhandler_pipe::create): Avoid clearing all open_mode bits when checking for PIPE_ADD_PID. Properly keep track of len so that passed in name is not overwritten.
* *** empty log message ***Corinna Vinschen2012-05-101-0/+4
|
* * cygwin.din (memrchr): Export.Corinna Vinschen2012-05-104-1/+10
| | | | | * posix.sgml (std-gnu): Add memrchr. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 16.Corinna Vinschen2012-05-102-1/+5
|
* Add url for reported mailing list problemChristopher Faylor2012-05-081-2/+4
|
* * DevNotes: Add entry cgf-000004.Christopher Faylor2012-05-085-8/+60
| | | | | | | | * pinfo.cc (pinfo::init): Reuse shared memory if the state is marked with PID_REAPED. * spawn.cc (child_info_spawn::worker): Don't duplicate myself_pinfo into non-cygwin child. * fork.cc (frok::parent): Improve error output.
* Add additional observation to cgf-000003Christopher Faylor2012-05-071-1/+3
|
* * DevNotes: Add entry cgf-000003.Christopher Faylor2012-05-077-24/+110
| | | | | | | | | | | | | * cygheap.h (init_cygheap::pid_handle): Delete. * dcrt0.cc (child_info_spawn::handle_spawn): Keep parent open if we have execed. * pinfo.cc (pinfo::thisproc): Remove pid_handle manipulations. (pinfo::init): Don't consider a reaped process to be available. * spawn.cc (child_info_spawn::worker): Remove pid_handle manipulations. Make wr_proc_pipe and parent noninheritable when starting a program which doesn't use the Cygwin DLL. Conditionally reset wr_proc_pipe to inheritable if CreateProcess fails. Inject wr_proc_pipe handle into non-Cygwin process. Consider a non-cygwin process to be 'synced'.
* *** empty log message ***Corinna Vinschen2012-05-061-0/+24
|
* * DevNotes: Add entry cgf-000002.Christopher Faylor2012-05-043-2/+53
| | | | | | * fhandler_tty.cc (bytes_available): Revert to previous Oct-2011 behavior where a dummy buffer is used to determine how many bytes will be read. (fhandler_pty_master::ioctl): Correct coercion in assignment.
* * net.cc (get_adapters_addresses): Only create thread on affectedCorinna Vinschen2012-05-034-5/+68
| | | | | | | | | systems. Change comment acordingly. * wincap.h (wincaps::has_gaa_largeaddress_bug): New element. * wincap.cc: Implement above element throughout. (wincap_8): New globale wincaps to support Windows 8. (wincapc::init): Take Windows 8 into account. Set new has_gaa_largeaddress_bug member to false on 32 bit systems.
* Reflect ChangeNotes -> DevNotesChristopher Faylor2012-05-021-1/+1
|
* .Christopher Faylor2012-05-021-5/+7
|
* * ChangeNotes: New file. Add entry cgf-000001.Christopher Faylor2012-05-024-2/+44
| | | | | | * sigproc.cc (proc_terminate): Don't set parent pid of child to 1 if we've execed since the execed process is still considered the parent. * child_info.h: Bump copyright.
* * fenv.cc (fesetround): Fix test for valid input parameter.Corinna Vinschen2012-05-022-3/+8
| | | | (fesetprec): Ditto.
* * fhandler.h (PIPE_ADD_PID): Define new flag.Christopher Faylor2012-04-304-7/+25
| | | | | | | * pipe.cc (fhandler_pipe::create): Don't indiscriminately add process id to every pipe since some pipe names (fifo, tty) don't need it. * sigproc.cc (sigproc_init): Pass PIPE_ADD_PID to fhandler_pipe::create to ensure that pid is always part of sigwait pipe name.
* * environ.cc (struct parse_thing): Add temporary (?) "pipe_byte" option.Christopher Faylor2012-04-285-11/+31
| | | | | | | | | * globals.cc (pipe_byte): Declare. * pipe.cc (fhandler_pipe::create): Use current process id in pipe name rather than pid for simple name collision avoidance. Do this only once to avoid extra overhead when a busy pipe is found. Honor pipe_byte to create non-message pipes if set. * sigproc.cc (sigproc_init): Use a specific name for the signal pipe.
* * path.cc (find_fast_cwd_pointer): Fix for W8 CP 32 bit.Corinna Vinschen2012-04-272-21/+58
|
* *** empty log message ***Corinna Vinschen2012-04-251-1/+1
|
* * fhandler.h (class dev_console): Add member ext_mouse_mode5.Corinna Vinschen2012-04-253-10/+37
| | | | | | * fhandler_console.cc (fhandler_console::read): Implement extended mouse mode 1005 (xterm, mintty). Fix actual mouse reporting for large coordinates.
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 15.Corinna Vinschen2012-04-242-1/+5
|
* * fhandler_console.cc (ALT_PRESSED): Define earlier, never undefine.Corinna Vinschen2012-04-242-10/+15
| | | | | | | (CTRL_PRESSED): Ditto. (fhandler_console::read): Simplify expressions testing for pressed ALT or CTRL modifier keys. (get_nonascii_key): Ditto.
* *** empty log message ***Corinna Vinschen2012-04-241-0/+8
|
* * fhandler.h (class dev_console): Add members ext_mouse_mode6 andCorinna Vinschen2012-04-243-23/+79
| | | | | | | | | | ext_mouse_mode15. * fhandler_console.cc (fhandler_console::read): Implement extended mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm). Recognize, but don't implement extended mouse mode 1005 (xterm, mintty). Support mouse coordinates greater than 222 (each axis). Fix formatting. (fhandler_console::char_command): Initialize enhanced mouse reporting modes.
* add in preparation for releaseChristopher Faylor2012-04-231-0/+13
|
* * dtable.cc (fh_alloc): Only disallow opening of nonexistent on-disk device.Christopher Faylor2012-04-214-8/+11
| | | | | | * path.cc (path_conv::check): Remove PATH_KEPT_HANDLE setting. * path.h (path_types): Remove PATH_KEPT_HANDLE. (path_conv::kept_handle): Delete now-unneeded function.
* * dtable.cc (fh_alloc): Keep fh which was flagged as error if it is for anChristopher Faylor2012-04-194-2/+22
| | | | | | | on-disk device and we were stating it. * path.cc (path_conv::check): Set PATH_KEPT_HANDLE. * path.h (path_types): Add PATH_KEPT_HANDLE. (path_conv::kept_handle): Implement.
* * fhandler.h (fhandler_base::nohandle): Revert to standard implementation.Christopher Faylor2012-04-184-11/+20
| | | | | | | | | | * dtable.cc (dtable::fixup_after_exec): Specifically reject releasing nohandle() type fhandlers rather than relying on contents of io_handle. (dtable::fixup_after_fork): Ditto. * fhandler_termios.cc: Add includes necessary for definitions of have_execed and have_execed_cygwin. (fhandler_termios::sigflush): Don't flush console input when we've started a non-Cygwin process.
* reformatChristopher Faylor2012-04-151-2/+2
|
* wincap.h: Rename assitant to assistant throughout. wincap.cc: Ditto.Christopher Faylor2012-04-158-24/+40
| | | | | | | | | | | | | * devices.in (exists_console): Use fhandler_console::exists () rather than raw test. * devices.cc: Regenerate. * fhandler.h (fhandler_console::exists): Define new function. * fhandler_console.cc (fhandler_console::need_invisible): Use fhandler_console::exists () rather than raw test. * spawn.cc: Rename assitant to assistant throughout. (child_info_spawn::worker): Simplify test for when to start a non-Cygwin process in its own process group. Just do it whenever we start a non-Cygwin process.
* clarify latest entryChristopher Faylor2012-04-131-1/+1
|
* * devices.in (exists_console): Allow /dev/con{sole,in,out} to be referencedChristopher Faylor2012-04-134-11/+15
| | | | | | they exist. * devices.cc: Regenerate. * fhandler_console.cc (fhandler_console::set_unit): Ditto.
* * syscalls.cc (fhandler_base::stat_fixup): Fix inode numbers ofCorinna Vinschen2012-04-112-3/+9
| | | | non-device files in virtual fileysystems.
* * dtable.cc (cygwin_attach_handle_to_fd): Defend against NULL return fromChristopher Faylor2012-04-074-6/+26
| | | | | | | build_fh_*. (dtable::init_std_file_from_handle): Ditto. * mmap.cc (mmap_record::alloc_fh): Ditto. * path.cc (path_conv::check): Ditto.