| 2004-12-30 Christopher Faylor <cgf@timesys.com> |
| |
| * devices.cc (device::isfs): Return true for the logical case of |
| devn == FH_FS. |
| |
| 2004-12-28 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.cc (_pinfo::dup_proc_pipe): DUPLICATE_CLOSE_SOURCE closes the |
| handle regardless, so revert previous change. |
| |
| 2004-12-27 Christopher Faylor <cgf@timesys.com> |
| |
| * cygthread.cc (cygthread::stub): Add better debug output. |
| (cygthread::cygthread): Ditto. |
| (cygthread::terminate_thread): Ditto. Move inuse test earlier or |
| suffer infinite loop. |
| * pinfo.cc (_pinfo::dup_proc_pipe): Close handle if DuplicateHandle |
| fails and process no longer exists. |
| * spawn.cc (spawn_guts): Create process in suspended state if OS |
| demands it. |
| * wincap.cc: Add "start_proc_suspended" throughout. |
| * wincap.h (wincaps): Ditto. |
| (wincapc): Ditto. |
| |
| 2004-12-27 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.cc (_pinfo::exit): Beef up debugging output. |
| * sigproc.cc (proc_subproc): Detached children apparently need a ppid |
| of 1. |
| |
| 2004-12-26 Christopher Faylor <cgf@timesys.com> |
| |
| * init.cc (dll_entry): Previous code reversion was ill-advised. Revert |
| it. |
| * sigproc.cc (child_info::sync): Ditto. |
| * pinfo.cc (_pinfo::exit): Don't set myself.procinfo to NULL since it |
| is no longer required. |
| |
| 2004-12-26 Christopher Faylor <cgf@timesys.com> |
| |
| * init.cc (dll_entry): Remove exit code setting. |
| * pinfo.cc (pinfo::init): Initialize exitcode to unset state rather |
| than SIGTERM. |
| (proc_waiter): Detect if exit code is unset and use status from |
| GetExitCodeProcess. |
| * sigproc.cc (child_info::sync): Remove exit code detection here since |
| proc_waiter now (again) detects it. |
| |
| 2004-12-25 Christopher Faylor <cgf@timesys.com> |
| |
| * fhandler.cc (fhandler_base::fchmod): Do the right thing when changing |
| an "on disk" device or fifo. |
| (fhandler_base::fchown): Ditto for changing ownership. |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Accommodate |
| device files on ntfs partitions. |
| * path.cc (path_conv::check): Use isfs function to figure out if a path |
| exists on a filesystem to make sure that device files are caught. |
| |
| 2004-12-24 Christopher Faylor <cgf@timesys.com> |
| |
| * child_info.h (CURR_CHILD_INFO_MAGIC): Update. |
| (child_info::parent_wr_proc_pipe): Eliminate. |
| * pinfo.h (_pinfo::alert_parent): Move here from pinfo class. |
| (_pinfo::dup_proc_pipe): New method. |
| (_pinfo::sync_proc_pipe): Ditto. |
| * exceptions.cc (sig_handle_tty_stop): Reflect move of alert_parent. |
| * init.cc (dll_entry): Exit with status one if main process called |
| ExitProcess. |
| * pinfo.cc (set_myself): Remove handling of parent_wr_proc_pipe. |
| (_pinfo::exit): Reflect move of alert_parent. Set procinfo to NULL to |
| flag that we are exiting normally. Always use exitcode when exiting |
| (although this could be a little racy). |
| (pinfo::init): Set default exit to SIGTERM. This will be the exit code |
| reported if process is terminated. |
| (_pinfo::dup_proc_pipe): New function. |
| (pinfo::wait): Duplicate wr_proc_pipe to the right place. Use |
| dup_proc_pipe to move the pipe to the child. |
| (_pinfo::sync_proc_pipe): New function. |
| (_pinfo::alert_parent): Move to _pinfo. Make sure that wr_proc_pipe is |
| ours before using it. |
| * sigproc.cc (child_info::child_info): Remove handling of |
| parent_wr_proc_pipe. |
| * spawn.cc (spawn_guts): Pass our wr_proc_pipe to the child when |
| execing. Ensure that exit code of cygwin process started from windows |
| is correctly set. |
| |
| 2004-12-23 Pierre Humblet <pierre.humblet@ieee.org> |
| Christopher Faylor <cgf@timesys.com> |
| |
| * path.h (path_conv::set_normalized_path): Add second argument and fill |
| it in throughout. |
| * path.cc (path_conv::check): Declare, set and use "strip_tail". |
| (path_conv::set_normalized_path): Add and use second argument, |
| replacing all tail stripping tests. |
| |
| 2004-12-23 Christopher Faylor <cgf@timesys.com> |
| |
| * cygthread.cc (cygthread::cygthread): Guard debugging variable with |
| "ifdef DEBUGGING". |
| (cygthread::release): Ditto. |
| |
| 2004-12-23 Christopher Faylor <cgf@timesys.com> |
| Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Don't strip the trailing slash from a |
| path consisting only of two slashes. |
| |
| 2004-12-23 Christopher Faylor <cgf@timesys.com> |
| |
| * cygthread.cc (cygthread::stub): Detect if thread function wants to |
| release itself here, to avoid a race. |
| (cygthread::release): Clear more stuff. Add a diagnostic for an |
| internal error. |
| * cygthread.h (auto_release): New function. |
| * pinfo.h (pinfo::remember): Add an argument to denote whether child is |
| detached. |
| * fork.cc (fork_parent): Reflect change in arguments to |
| pinfo::remember. |
| * pinfo.cc (_pinfo::exit): Signal exit more forcibly. |
| (proc_waiter): Use cygthread::auto_release to signify that |
| cygthread::stub should release the thread. This should avoid a race. |
| (pinfo::alert_parent): Don't signify an error when wr_proc_pipe == NULL. |
| * sigproc.cc (proc_subproc): Add support for PROC_DETACHED_CHILD. |
| * sigproc.h: Ditto. |
| * spawn.cc (spawn_guts): Specify whether child is detached or not when |
| calling pinfo::remember. |
| |
| 2004-12-22 Christopher Faylor <cgf@timesys.com> |
| |
| * cygheap.cc (cygheap_setup_for_child): Add api_fatal to catch failing |
| MapViewOfFileEx. |
| * cygthread.cc (cygthread::stub): Previous change to make diagnostic |
| output more informative was really a bust. Try again. Capture previous |
| name in a new field in cygthread for diagnostic purposes. |
| (cygthread::cygthread): Ditto. |
| (cygthread::release): Add an argument to control whether h should be cleared |
| or not. |
| (cygthread::terminate_thread): Use 'inuse' for tests rather than 'h'. |
| (cygthread): Add some diagnostic fields. |
| (cygthread::release): Add an argument. |
| * pinfo.cc (proc_waiter): Accommodate change to cygthread::release. |
| |
| 2004-12-22 Christopher Faylor <cgf@timesys.com> |
| |
| * cygthread.cc (cygthread::stub): Make diagnostic output more informative. |
| |
| 2004-12-22 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.cc (proc_waiter): Zero wait_thread in child to avoid races with |
| process termination. |
| * cygthread.cc (cygthread::terminate): Clumsily detect when h has gone away |
| and attempt no further action. |
| |
| 2004-12-22 Christopher Faylor <cgf@timesys.com> |
| |
| * cygthread.h (cygthread::release): Just declare here. |
| * cygthread.cc (cygthread::release): Define here. Use |
| InterlockedExchange to set inuse or suffer potential races. |
| (cygthread::terminate): Use release(). |
| |
| 2004-12-22 Chris January <chris@atomice.net> |
| |
| * fhandler_process.cpp (format_process_status): Use tabs in formatting |
| instead of spaces. |
| |
| 2004-12-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (set_normalized_path): Allow empty pathnames. |
| |
| 2004-12-21 Christopher Faylor <cgf@timesys.com> |
| |
| * spawn.cc (spawn_guts): Force parent to forget about P_DETACH'ed |
| process. |
| |
| 2004-12-20 Christopher Faylor <cgf@timesys.com> |
| |
| * path.cc (normalize_win32_path): Remove unneeded check for dots. |
| |
| 2004-12-20 Christopher Faylor <cgf@timesys.com> |
| |
| * path.cc (normalize_posix_path): Remove unneeded check for dots. |
| (path_conv::set_normalized_path): Strip trailing dots, similarly to |
| what had previously been done for the win32 path. |
| |
| 2004-12-18 Christopher Faylor <cgf@timesys.com> |
| |
| * path.cc (normalize_win32_path): Make third arg pass-by reference. |
| Reorganize slightly to eliminate extra variables. |
| (normalize_posix_path): Ditto. |
| (path_conv::check): Reflect change in arguments. |
| (mount_info::conv_to_posix_path): Ditto. |
| (mount_info::add_item): Ditto. |
| |
| 2004-12-18 Christopher Faylor <cgf@timesys.com> |
| |
| * child_info.h (CURR_CHILD_INFO_MAGIC): Use updated value. |
| |
| 2004-12-18 Christopher Faylor <cgf@timesys.com> |
| Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (path_conv::check): Check the output Win32 path for trailing |
| spaces and dots, not the input path. Disallow all use of foo./bar |
| since consistently getting this right is time consuming. Remove |
| strange test for "unc\" since no one seems to know what it's for. |
| |
| 2004-12-18 Chris January <chris@atomice.net> |
| |
| * fhandler_proc.cc (proc_listing): Add entry for "self". |
| (proc_fhandlers): Add entry for "self". |
| * fhandler_process.cc (fhandler_process::fstate): Handle "self". |
| (fhandler_process::open): Handle "self". |
| |
| 2004-12-17 Christopher Faylor <cgf@timesys.com> |
| |
| * sigproc.cc (proc_subproc): Fix long-standing problem. Only wait for |
| "all processes" if pid == -1 -- not just if pid is negative. |
| (proc_can_be_signalled): Fix another long-standing problem. Set |
| correct errno when detecting an exited process. |
| |
| 2004-12-16 Thomas Wolff <towo@computer.org> |
| |
| * fhandler_console.cc (get_win32_attr): Avoid inappropriate intensity |
| interchanging that used to render reverse output unreadable when |
| non-reversed text is bright. |
| |
| 2004-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Add utmpx symbols. |
| * syscalls.cc: Include utmpx.h. Implement utmpx functions as stubs |
| to utmp functions. |
| (copy_ut_to_utx): New static function. |
| (pututline): Change from void to struct utmp * as on Linux. |
| (setutxent): New function. |
| (endutxent): New function. |
| (getutxent): New function. |
| (getutxid): New function. |
| (getutxline): New function. |
| (pututxline): New function. |
| * include/utmpx.h: New file. |
| * include/cygwin/utmp.h: New file. |
| * include/cygwin/version.h: Bump API minor number. |
| * include/sys/utmp.h: Include cygwin/utmp.h. Move stuff common with |
| utmpx functionality there. |
| (pututline): Declare struct utmp *. |
| |
| 2004-12-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * tty.cc (tty_list::terminate): Guard releasing the tty with tty_mutex. |
| (tty::init): Set master_pid to 0. |
| |
| 2004-12-14 Thomas Wolff <towo@computer.org> |
| |
| * fhandler_console.cc (read): Consider offset within scrolling |
| region of the console window. |
| |
| 2004-12-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.h (cwdstuff::get_drive): Release cwd_lock. |
| |
| 2004-12-12 Bas van Gompel <cygwin-patch@bavag.tmfweb.nl> |
| |
| * fhandler.cc (fhandler_base::puts_readahead): Fix end-condition. |
| |
| 2004-12-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (errmap): Map ERROR_INVALID_ADDRESS to EINVAL instead of |
| EOVERFLOW. |
| |
| 2004-12-10 Christopher Faylor <cgf@timesys.com> |
| |
| * include/sys/strace.h: Don't output paranoid_printf by default. |
| |
| 2004-12-09 Christopher Faylor <cgf@timesys.com> |
| |
| * lib/libcmain.c (main): Properly deal with quoted first argument. |
| |
| 2004-12-06 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.h (proc_pipe::*): Delete class. |
| * pinfo.cc (proc_pipe::*): Ditto. |
| |
| 2004-12-05 Christopher Faylor <cgf@timesys.com> |
| |
| * fork.cc (fork_parent): Reinstate "childhProc" protection. Don't |
| close hProcess handle here since it is used to ensure that a new |
| process isn't created with the old pid after the old pid exits. |
| * spawn.cc (spawn_guts): Ditto. |
| * pinfo.cc (proc_waiter): Don't send any signals if we've execed since |
| this process doesn't officially exist. |
| * pinfo.h (pinfo::pid_handle): Eliminate. Just use hProc. |
| * sigproc.cc (sig_send): Don't send any signals if our sendsig doesn't |
| exist. That's a sign that we are execing. |
| (remove_proc): Eliminate pid_handle close. |
| |
| 2004-12-05 Christopher Faylor <cgf@timesys.com> |
| |
| * cygthread.h (cygthread::terminate_thread): Make public. |
| * pinfo.h (pinfo::wait_thread): New element. |
| * pinfo.cc (pinfo::wait): Store "handle" to started thread in pinfo. |
| * sigproc.cc (proc_terminate): Kill any threads waiting for a process |
| pipe. |
| |
| 2004-12-05 Christopher Faylor <cgf@timesys.com> |
| |
| * sigproc.cc (mychild): Reimplement as list scan. |
| (proc_subproc): Don't mess with pinfo if it's myself. |
| |
| 2004-12-05 Christopher Faylor <cgf@timesys.com> |
| |
| * child_info.h (child_info_types): Label enum for _PROC constants. |
| (child_info::child_info): New constructor. |
| (child_info::~child_info): New destructor. |
| (child_info::sync): Declare new function. |
| (child_info_fork::child_info_fork): New constructor. |
| (child_info_spawn::child_info_spawn): Remove old constructor. |
| (child_info_spawn::child_info_spawn): New constructor. |
| * dcrt0.cc (dll_crt0_0): Use correct sizeof when doing sanity check on |
| passed in child_info. Signal readiness to parent when not forking (and |
| not spawning). |
| * fork.cc (sync_with_child): Delete. |
| (resume_child): Remove extra argument. |
| (sync_with_parent): Use child_info method to sync with parent. |
| (fork_child): Don't close fork_info->subproc_ready since that is now |
| handled by the destructor. |
| (fork_parent): Remove subproc_ready stuff. Use child_info sync method |
| for waiting.. Set start time here for child. Rename "forked" to |
| "child". |
| (fork): Check ch.subproc_ready for validity here. |
| * pinfo.h (_pinfo::exec_sendsig): Temp storage for exec stub which may |
| be staying around to handle non-cygwin captive process. |
| (_pinfo::exec_dwProcessId): Ditto. |
| (_pinfo::_lock): Renamed from lock. |
| (_pinfo::lock): New method. |
| (_pinfo::unlock): Ditto. |
| (_pinfo::initialize_lock): Ditto. |
| * pinfo.cc (set_myself): Use initialize_lock method to initialize |
| myself lock. Set "exec" fields in _pinfo to zero to indicate that |
| we've started successfully. Set start time here when appropriate. |
| (_pinfo::commune_send): Use pinfo lock/unlock methods. |
| (proc_waiter): Remove special case for non-cywin processes. |
| Reinstitute handling for PID_NOCLDSTOP. |
| * sigproc.cc (proc_subproc): Set proper EAGAIN errno when process table |
| is filled. |
| (sig_send): Use exec_* fields from _pinfo for sending signals if the |
| the _pinfo sendsig never materializes. |
| (child_info::child_info): New constructor, renamed from init_child_info. |
| Zeroes child_info structure and sets appropriate fields in structure |
| based on chtype. |
| (child_info::~child_info): New destructor. Closes subproc_ready if it |
| exists. |
| (child_info_fork::child_info_fork): New constructor. |
| (child_info_spawn::child_info_spawn): New constructor. |
| (child_info::ready): New function. Signals parent when child is ready. |
| (child_info::sync): New function. Wait for child to signal us or |
| process to die. |
| (remove_proc): Remove closing of hProcess since this should now be |
| handled shortly after process creation. |
| * spawn.cc (spawn_guts): Use child_info_spawn constructor rather than |
| init_child_info. Save exec_sendsig and exec_dwProcessId in execing |
| _pinfo. Rely on child_info constructor to properly set |
| parent_wr_proc_pipe in ciresrv. Revert to previous determination on |
| whether to start a process in suspended mode. Remove reparenting |
| stuff. Just keep a stub around if starting a non-cygwin process. |
| |
| 2004-12-05 Bas van Gompel <cygwin-patch@bavag.tmfweb.nl> |
| |
| * fhandler.cc (fhandler_base::read): Remove superfluous check in |
| __small_printf format for strace. |
| |
| 2004-12-05 Bas van Gompel <cygwin-patch@bavag.tmfweb.nl> |
| |
| * fhandler.cc (fhandler_base::read): Don't debug_printf garbage when |
| copied_chars is zero. |
| |
| 2004-12-03 Christopher Faylor <cgf@timesys.com> |
| |
| * environ.cc (environ_init): Alloc space for TERM if it is not set, |
| like all of the other environment variables. |
| |
| 2004-12-02 Christopher Faylor <cgf@timesys.com> |
| |
| * child_info.h (child_info_fork::parent_wr_proc_pipe): New element. |
| * fork.cc (fork_parent): Set parent_wr_proc. |
| * pinfo.cc (set_myself): Close child_proc_info->parent_wr_proc if it |
| exists rather than trying to get value from parent _pinfo. |
| |
| 2004-12-02 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.h (enum parent_aleter): New enum. |
| (pinfo::alert_parent): Declare as returning a value. |
| (pinfo::parent_alive): New function. |
| * pinfo.cc (pinfo::alert_parent): Set wr_proc_pipe to invalid non-NULL |
| value when parent disappears. Return success of operation. |
| (proc_waiter): Use __ALERT_* enum for control since these are not really signals. |
| Implement __ALERT_ALIVE. |
| * sigproc.cc (my_parent_is_alive): Eliminate. |
| * sigproc.h (my_parent_is_alive): Ditto for declaration. |
| (__SIGREPARENT): Eliminate. |
| |
| 2004-12-02 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.cc (pinfo::wait): Use better name for cygthread. |
| |
| 2004-12-03 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * registry.h (reg_key::reg_key): Change arguments. |
| * shared_info.h (class mount_info): Remove had_to_create_mount_areas. |
| * registry.cc (reg_key::reg_key): Change constructors to always handle |
| HKLM and to avoid relying on HKCU. |
| Do not set mount_table->had_to_create_mount_areas. |
| * path.cc (mount_info::conv_to_win32_path): Improve update of |
| sys_mount_table_counter. |
| (mount_info::read_mounts): Use new reg_key constructor. |
| (mount_info::add_reg_mount): Ditto. |
| (mount_info::del_reg_mount): Ditto. |
| (mount_info::read_cygdrive_info_from_registry): Ditto. |
| (mount_info::write_cygdrive_info_to_registry): Ditto. |
| Update cygwin_shared->sys_mount_table_counter after registry update. |
| (mount_info::get_cygdrive_info): Ditto. |
| * shared.cc (shared_info::heap_chunk_size): Use new reg_key constructor. |
| * environ.cc (regopt): Ditto. |
| |
| 2004-12-01 Christopher Faylor <cgf@timesys.com> |
| |
| * include/features.h: Include sys/cdefs.h, like linux. |
| |
| 2004-12-01 Christopher Faylor <cgf@timesys.com> |
| |
| * syscalls.cc (truncate64): Don't second-guess errno if open fails. |
| * devices.in: Don't allow /dev/com0. |
| |
| 2004-11-25 Christopher Faylor <cgf@timesys.com> |
| |
| * environ.cc (putenv): Accommodate recent newlib change in argument to |
| putenv. |
| |
| 2004-11-25 Christopher Faylor <cgf@timesys.com> |
| |
| * child_info.h (child_info_spawn::hexec_proc): Eliminate. |
| * dcrt0.cc (dll_crt0_0): Remove hexec_proc stuff. |
| * fork.cc (fork_child): Remove call to pinfo_fixup_after_fork. |
| * pinfo.cc (set_myself): Close and zero pid_handle if set. |
| (pinfo_fixup_after_fork): Delete. |
| (proc_waiter): Don't close vchild.hProcess here. Do that when we are |
| remove the vchild from procs. Save hProcess as pid_handle only on |
| first reparent operation. |
| (pinfo::wait): Don't set pid_handle here. |
| (pinfo::alert_parent): Always try to send signal. If unsuccessful then |
| close and zero wr_proc_pipe. |
| * pinfo.h (pinfo::pinfo): Make sure that appropriate parts of the class |
| are zeroed on construction. |
| (pinfo::alert_parent): Take char argument. |
| (pinfo_fixup_after_fork): Delete declaration. |
| (hexec_proc): Ditto. |
| * sigproc.cc (remove_proc): Close pid_handle and hProcess if |
| appropriate. |
| * spawn.cc (spawn_guts): Set cygheap->pid_handle on first exec. |
| |
| 2004-11-25 Christopher Faylor <cgf@timesys.com> |
| |
| * cygheap.h (init_cygheap::pid_handle): New element. |
| * pinfo.cc (set_myself): Clear previously existing cygheap->pid_handle |
| when a new process has been started. |
| (pinfo::wait): Make sure that a handle to the newly forked/spawned |
| process is kept around so that the pid will not be reused. |
| * pinfo.h (_pinfo::pid_handle): Move. |
| (pinfo::pid_handle): to here. |
| * spawn.cc (spawn_guts): Create a pid_handle in cygheap prior to |
| spawning to ensure that the pid does not get reused during the lifetime |
| of the "cygwin pid". |
| |
| 2004-11-25 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.h (pinfo::alert_parent): New function. |
| * exceptions.cc (sig_handle_tty_stop): Use alert_parent to send |
| "signals" to parent. |
| * fork.cc (fork_parent): Don't close pi.hProcess. Let the waiter |
| thread do that. |
| * pinfo.cc (proc_waiter): Detect case where process exits without |
| setting the exit code and use value from GetExitCodeProcess. |
| Reluctantly implement __SIGREPARENT. |
| (pinfo::alert_parent): Define. |
| * sigproc.h (__SIGREPARENT): New enum. |
| * spawn.cc (spawn_guts): Send reparent signal to parent on exec. |
| Always create process in suspended state to avoid races. |
| |
| 2004-11-25 Christopher Faylor <cgf@timesys.com> |
| |
| Remove cygthread.h in favor of cygtls.h throughout since cygtls now |
| includes cygthread.h. Eliminate ppid_handle usage throughout. |
| * child_info.h: Regenerate magic number |
| (child_info): Remove pppid_handle. |
| * cygthread.h (cygthread::release): New method. Frees thread without |
| waiting. |
| * cygthread.cc (cygthread::stub): Set _ctinfo in _mytls to point to |
| information for executing thread. Don't call SetEvent if thread is no |
| longer in use. |
| (cygthread::simplestub): Ditto. |
| * cygtls.h (_cygtls::_ctinfo): New element contains pointer to |
| information about executing cygthread, if any. |
| * dcrt0.cc: Remove last vestiges of per_thread stuff. |
| (dll_crt0_0): Ditto. Remove accommodation for ppid_handle. |
| (do_exit): Remove obsolete reparenting test. |
| (_exit): Exit with a more SUSv3-like exit value. |
| * dtable.cc (dtable::stdio_init): Check for myself->cygstarted rather |
| than myself->ppid_handle to see if we were started by a cygwin process. |
| * exceptions.cc (open_stackdumpfile): Ditto. |
| (handle_exceptions): Ditto. |
| (ctrl_c_handler): Ditto. |
| (sig_handle_tty_stop): Ditto. Let parent send signal to itself on |
| STOP. |
| (sigpacket::process): Comment out vfork test. |
| (signal_exit): Use more SUSv3-like exit value on signal. |
| * external.cc (fillout_pinfo): Don't set hProcess. |
| * fork.cc: Remove VFORK cruft. |
| (per_thread::set): Delete. |
| (fork_child): Remove perthread stuff. |
| (fork_parent): Remove obsolete subproc_init. Accommodate new method |
| for tracking subprocesses. |
| * pinfo.cc (set_myself): Accommodate new pinfo/_pinfo layout. Set some |
| things here that used to be set in wait_sig. |
| (_pinfo::exit): Set exitcode here. Close process pipe. |
| (_pinfo::commune_send): Accommodeate new pinfo/_pinfo layout. |
| (proc_waiter): New function. Waits, in a thread for subprocess to go |
| away. |
| (pinfo::wait): New function. Initialization for proc_waiter. |
| * pinfo.h (_pinfo::exitcode): New element. |
| (_pinfo::cygstarted): Ditto. |
| (_pinfo::wr_proc_pipe): Ditto. |
| (_pinfo::ppid_handle): Delete. |
| (_pinfo::hProcess): Delete. |
| (_pinfo::lock): Delete. |
| (pinfo::hProcess): New element. |
| (pinfo::lock): Ditto. |
| (pinfo::wait): Declare new function. |
| (pinfo::preserve): Define new function. |
| * sigproc.cc: Remove old stuff from wait_subproc thread based method. |
| (zombies): Remove. |
| (procs): New. |
| (my_parent_is_alive): Just check that the parent pid exists. |
| (mychild): Just use pinfo methods to determine if child is mine. |
| (proc_subproc): Revamp PROC_ADDCHILD to use pinfo::wait. Remove |
| PROC_CHILDTERMINATED logic. Use different method to remove processes |
| from list when SIGCHLD == SIG_IGN. |
| (proc_terminate): Gut. |
| (subproc_init): Delete. |
| (init_child_info): Remove setting of pppid_handle. |
| (checkstate): Revamp to only scan procs array. |
| (remove_proc): Rename from remove_zombie. Don't close hProcess or |
| pid_handle. Don't release memory if it's myself. |
| (stopped_or_terminated): Change logic to handle new consolidated |
| proc/zombie array. |
| (wait_subproc): Delete. |
| * sigproc.h: Remove obsolete EXIT_* defines. |
| (subproc_init): Remove declaration. |
| * spawn.cc (spawn_guts): Remove reparenting stuff. Use standard wait |
| logic to wait for child if started from a non-cygwin process. |
| * tlsoffsets.h: Regenerate. |
| * tty.cc (tty_init): Check for myself->cygstarted rather than |
| myself->ppid_handle to see if we were started by a cygwin process. |
| * include/sys/signal.h (external_pinfo::exitcode): Replace hProcess. |
| * include/sys/wait.h (WCOREDUMP): Define. |
| |
| * fhandler_tty.cc (fhandler_tty_slave::read): Add debugging output for |
| timeout case. |
| * signal.cc (abort): Flag that we are exiting with the ABORT signal. |
| |
| 2004-11-22 Christopher Faylor <cgf@timesys.com> |
| |
| * select.cc (select_stuff::test_and_set): Remove extraneous tests of |
| "window_handle". |
| |
| 2004-11-20 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler.cc (fhandler::write): Remove debug_printf. |
| * pipe.cc (fhandler_pipe::create): Edit syscall_printf format. |
| |
| 2004-11-20 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * cygheap.h (cygheap_user::get_windows_id): New method. |
| * registry.h (get_registry_hive_path): Change argument type. |
| (load_registry_hive): Ditto. |
| * registry.cc (get_registry_hive_path): Change argument type and take |
| Win9x keys into account. |
| (load_registry_hive): Ditto. |
| * uinfo.cc (cygheap_user::env_userprofile): Use get_windows_id, even |
| for SYSTEM. |
| * shared.cc (user_shared_initialize): Use get_windows_id. |
| * syscalls.cc (seteuid32): Load the registry hive and reload the user |
| shared also on Win9x. |
| |
| 2004-11-11 Christopher Faylor <cgf@timesys.com> |
| |
| * include/cygwin/version.h: Bump DLL minor number to 13. |
| |
| 2004-10-28 Christopher Faylor <cgf@timesys.com> |
| |
| * fork.cc (NPIDS_HELD): Reduce to former number now that bash problem |
| has been identified. |
| |
| 2004-10-28 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (mount_info::from_registry): Deimpersonate while |
| accessing HKLM. |
| (mount_info::read_cygdrive_info_from_registry): Ditto. |
| * cygheap.h: Define NO_IMPERSONATION. |
| (cygheap_user::issetuid): Replace INVALID_HANDLE_VALUE by |
| NO_IMPERSONATION. |
| (cygheap_user::has_impersonation_tokens): Ditto. |
| (cygheap_user::close_impersonation_tokens): Ditto. |
| * uinfo.cc (uinfo_init): Ditto. |
| * syscalls.cc (seteuid32): Ditto. |
| * security.cc (set_impersonation_token): Ditto. |
| |
| 2004-10-26 Christopher Faylor <cgf@timesys.com> |
| |
| * cygtls.cc (_cygtls::fixup_after_fork): Wipe out exitsock local since |
| it should not be used by the child. |
| * select.cc (start_thread_socket): Turn off inheritance for exitsock. |
| Don't add exitsock to exception mask since it should never get an |
| exception. |
| (socket_cleanup): Change some debug messages for consistency. |
| * fhandler_socket.cc (fhandler_socket::dup): Change comment wording |
| slightly. |
| |
| 2004-10-26 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * registry.cc (get_registry_hive_path): Simplify and add a |
| debug_printf in case of failure. |
| (load_registry_hive): Revert the 2004-04-19 change. |
| |
| 2004-10-20 Christopher Faylor <cgf@timesys.com> |
| |
| * select.cc (start_thread_socket): Remove attempt to delay reading of |
| exitsock or suffer occasional mysterious 60 second hangs. |
| (socket_cleanup): Empty the exitsock here after the thread has |
| terminated. |
| |
| 2004-10-19 Christopher Faylor <cgf@timesys.com> |
| |
| * fhandler_console.cc (fhandler_console::fixup_after_exec): Fix error |
| message. |
| |
| 2004-10-12 Christopher Faylor <cgf@timesys.com> |
| |
| * select.cc (start_thread_socket): Remove unused code. |
| |
| 2004-10-11 Christopher Faylor <cgf@timesys.com> |
| |
| * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Revert previous checkin. |
| |
| 2004-10-10 Christopher Faylor <cgf@timesys.com> |
| |
| * cygtls.h (exitsock): New element. |
| (exitsock_sin): Ditto. |
| * cygtls.cc (_cygtls::init_thread): Initialize exitsock to invalid handle. |
| (_cygtls::call2): Close exitsock if it is valid. |
| * select.cc (struct socketinf): Remove sin element. |
| (start_thread_socket): Initialize one SOCK_DGRAM socket per thread |
| instead of (apparently) expensive opening and closing of socket with |
| each select call. |
| (socket_cleanup): Send a byte to the exitsock socket as a way to |
| potentially signal a waiting-for-socket thread to exit. |
| * tlsoffsets.h: Regenerate. |
| |
| 2004-10-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.h (class cygheap_user): Add psystemroot member and |
| env_systemroot method. |
| * environ.cc (struct spenv): Add add_always member. |
| (spenvs): Accommodate new add_always member. Add |
| cygheap_user::env_systemroot method to SYSTEMROOT entry. |
| (build_env): Check add_always member when adding missing environment |
| variables from spenvs. |
| * uinfo.cc (cygheap_user::env_systemroot): New method. |
| |
| 2004-10-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (dll_crt0_0): Drop duplicated line. |
| |
| 2004-10-07 Christopher Faylor <cgf@timesys.com> |
| |
| * spawn.cc (pthread_cleanup::oldmask): Default to invalid signal mask. |
| (do_cleanup): Test for invalid signal mask to decide whether to restore |
| the mask rather than assuming zero mask indicates that there is nothing |
| to do. |
| |
| 2004-10-07 Mark Paulus <mark.paulus@mci.com> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::read): Use previously |
| evaluated time_to_wait value. |
| |
| 2004-10-05 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * external.cc (check_ntsec): Do not call wincap.has_security. |
| * path.cc (path_conv::check): Ditto. |
| * security.cc (get_object_attribute): Ditto. |
| (get_file_attribute): Ditto. |
| |
| 2004-10-05 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl> |
| |
| * pinfo.cc (_pinfo::commune_send): Correct debugging output. |
| |
| 2004-10-04 Christopher Faylor <cgf@timesys.com> |
| |
| * include/cygwin/signal.h: Add siginterrupt definition. |
| |
| 2004-10-02 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.h (enum path_types): Delete PATH_ISDISK. |
| (path_conv::isdisk): Delete method. |
| (path_conv::set_isdisk): Ditto. |
| * path.cc (path_conv::check): Do not call set_isdisk. |
| * uinfo.cc(pwdgrp::load): Do not call pc.isdisk. |
| |
| 2004-09-28 Christopher Faylor <cgf@timesys.com> |
| |
| * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Disallow attempts |
| to set the process group to a nonexistent process group. |
| |
| 2004-09-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lib/_cygwin_crt0_common.cc: Revert patch from 2004-09-16. Brakes |
| newly built DLLs. |
| |
| 2004-09-24 Christopher Faylor <cgf@timesys.com> |
| Sergey Ivanov <seriv@parkheights.dyndns.org> |
| |
| * path.cc (mount_info::read_cygdrive_info_from_registry): Default |
| /cygdrive to binary mode. |
| |
| 2004-09-22 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (normalize_win32_path): Only look for : in second position. |
| Avoid infinite loop with names starting in double dots. |
| (mount_info::conv_to_win32_path): Do not worry about a trailing dot. |
| (hash_path_name): Ditto. |
| |
| 2004-09-20 Christopher Faylor <cgf@timesys.com> |
| |
| * exceptions.cc (sig_handle_tty_stop): Set flag earlier. |
| |
| 2004-09-20 Christopher Faylor <cgf@timesys.com> |
| |
| * exceptions.cc (sig_handle_tty_stop): Set flag that we are in a cygwin |
| function to avoid a probably erroneous stack walk. |
| |
| 2004-09-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (unlink): Don't use "delete on close" on remote shares. |
| |
| 2004-09-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (_impure_ptr): Add export again. There are libs out there. |
| |
| 2004-09-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (_impure_ptr): Don't export. |
| (reent_data): Export. |
| * lib/_cygwin_crt0_common.cc (_impure_ptr): Drop entirely. Don't |
| initialize _impure_ptr or u->impure_ptr_ptr. |
| |
| 2004-09-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (_impure_ptr): Export. |
| (reent_data): Don't export. |
| * dcrt0.cc (reent_data): Drop. |
| (__cygwin_user_data): Initialize impure_ptr as GLOBAL_REENT. |
| (_dll_crt0): Initialize _impure_ptr as GLOBAL_REENT. |
| * lib/_cygwin_crt0_common.cc (_impure_ptr): Drop. Declare extern as |
| dllimport instead. |
| |
| 2004-09-14 Christopher Faylor <cgf@timesys.com> |
| |
| * cygtls.h: Add alignment kludge to fix disparity between compilers. |
| * tlsoffsets.h: Regenerate. |
| |
| * fork.cc (slow_pid_reuse): Use define to control number of pids held |
| to prevent pid reuse. |
| |
| 2004-09-14 Sam Steingold <sds@gnu.org> |
| |
| * autoload.cc (EnumProcessModules): Add. |
| * dlfcn.cc (dlsym): Handle RTLD_DEFAULT using EnumProcessModules(). |
| * include/dlfcn.h (RTLD_DEFAULT): Define to NULL. |
| |
| 2004-09-13 Christopher Faylor <cgf@timesys.com> |
| |
| * fork.cc (slow_pid_reuse): Temporarily double the number of pids held |
| to prevent pid reuse. |
| |
| 2004-09-12 Christopher Faylor <cgf@timesys.com> |
| |
| * sigproc.cc (wait_sig): Ensure that waiting threads are awoken after |
| returning from a hold condition. |
| |
| 2004-09-12 Christopher Faylor <cgf@timesys.com> |
| |
| * child_info.h (CURR_CHILD_INFO_MAGIC): Update. |
| |
| 2004-09-11 Pierre Humblet <pierre.humblet@ieee.org> |
| Christopher Faylor <cgf@timesys.com> |
| |
| * exceptions.cc: (ctrl_c_handler): Do nothing while a Cygwin subprocess |
| is starting. |
| |
| 2004-09-10 Christopher Faylor <cgf@timesys.com> |
| |
| * child_info.h (init_child_info): Remove pid argument from declaration. |
| * cygheap.h (init_cygheap::pid): New element. |
| * dcrt0.cc (dll_crt0_0): Eliminate handling of now-noexistent cygpid |
| parameter in child_info struct. Set forkee to 'true' rather than |
| cygpid since the pid value was never used. |
| (dll_crt0_1): Ditto. |
| (_dll_crt0): Ditto. |
| * fork.cc (fork_child): Don't wait for sigthread. This is handled in |
| the fork call now. |
| (fork_parent): Remove obsolete pid argument from init_child_info call. |
| Don't do anything special with cygpid when DEBUGGING. |
| (fork): Delay all signals during fork. |
| (fork_init): Don't do anything special when DEBUGGING. |
| * pinfo.cc (set_myself): Remove pid parameter. Use new pid field in |
| cygheap. |
| (pinfo_init): Don't pass pid argument to set_myself. |
| * sigproc.cc (sig_send): Wait for dwProcessId to be non-zero as well as |
| sendsig. |
| (init_child_info): Eliminate handling of pid. |
| (wait_sig): Implement method to temporarily hold off sending signals. |
| * sigproc.h (__SIGHOLD): New enum. |
| (__SIGNOHOLD): Ditto. |
| * spawn.cc (spawn_guts): Remove obsolete pid argument from |
| init_child_info call. |
| |
| 2004-09-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::dup): Use debug_printf. |
| |
| 2004-09-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in: Create libutil.a from bsdlib.o exports. |
| * bsdlib.cc (logwtmp): Move from syscalls.cc to here. |
| (login): Ditto. |
| (logout): Ditto. |
| |
| * winsup.h (EXPORT_ALIAS): New macro. |
| * exec.cc: Define alias symbols using EXPORT_ALIAS macro. |
| * syscalls.cc: Ditto. |
| * times.cc: Ditto. |
| |
| 2004-09-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (fhandler_dev_tape::open): Fix typo. |
| |
| 2004-09-09 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl> |
| |
| * pipe.cc (create_selectable_pipe): Work around bug in Windows 95 |
| where CreateNamedPipe returns NULL. |
| |
| 2004-09-08 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * cygheap.h (cwdstuff::drive_length): New member. |
| (cwdstuff::get_drive): New method. |
| * path.cc (normalize_win32_path): Simplify by using cwdstuff::get_drive. |
| (mount_info::conv_to_win32_path): Use cwdstuff::get_drive as default for /. |
| (cwdstuff::set): Initialize drive_length. |
| |
| 2004-09-07 Christopher Faylor <cgf@timesys.com> |
| |
| * cygtls.cc (_cygtls::init_thread): Set __sdidinit to negative value to |
| indicate that it is "special". |
| * thread.cc (pthread::exit): If __sdidinit is < 0, it was never really |
| initialized so reset it to 0 before calling _reclaim_reent. |
| |
| 2004-09-05 Christopher Faylor <cgf@timesys.com> |
| |
| * include/cygwin/version.h: Bump DLL minor number to 12. |
| |
| 2004-09-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc: Fix a few more strace_prints. |
| |
| 2004-09-02 Christopher Faylor <cgf@timesys.com> |
| |
| Regularize most strace_prints throughout so that %E is always preceded |
| by a comma and elminate most uses of "foo = %s" to "foo %s". |
| |
| 2004-09-02 Bob Byrnes <byrnes@curl.com> |
| Christopher Faylor <cgf@timesys.com> |
| |
| * autoload.cc (NtQueryInformationFile): Return nonzero on error. |
| * ntdll.h (FILE_PIPE_LOCAL_INFORMATION): Add. |
| (NtQueryInformationFile): Fix types for last two arguments. |
| * pipe.cc: Include stdlib.h, limits.h, and ntdll.h. |
| (create_selectable_pipe): New function to create a pipe that can be |
| used with NtQueryInformationFile for select. |
| (fhandler_pipe::create): Call create_selectable_pipe instead of |
| CreatePipe. |
| (pipe): Use DEFAULT_PIPEBUFSIZE as argument to create_pipe. |
| * select.cc: Include limits.h and ntdll.h. |
| (peek_pipe): Add select_printf output. Call NtQueryInformationFile to |
| implement select for write on pipes. |
| (fhandler_pipe::select_read): Reorder field assignments to be |
| consistent with fhandler_pipe::select_write. |
| (fhandler_pipe::select_write): Initialize startup, verify, cleanup, and |
| write_ready fields for select_record. |
| (fhandler_pipe::select_except): Tweak indentation to be consistent with |
| fhandler_pipe::select_write. |
| |
| 2004-08-30 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fork.cc (fork_parent): Return the cygpid directly derived from the |
| winpid. |
| |
| 2004-08-30 Christopher Faylor <cgf@timesys.com> |
| |
| * fork.cc (fork_parent): Record child's pid when we're sure that it has |
| been filled out by the child. |
| * pinfo.cc (pinfo::init): Trivial change. |
| |
| 2004-08-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Allow to report |
| success on systems with ntsec and ntea set. |
| |
| 2004-08-28 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler.cc (fhandler_base::write): In the lseek_bug case, set EOF |
| before zero filling. Combine similar error handling statements. |
| |
| 2004-08-28 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * syscalls.cc (ftruncate64): On 9x, call write with a zero length |
| to zero fill when the file is extended. |
| |
| 2004-08-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (link): Avoid compiler warning. |
| |
| 2004-08-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * environ.cc (set_ntea): New function. |
| (set_ntsec): Ditto. |
| (set_smbntsec): Ditto. |
| (parse_thing): Change ntea, ntsec and smbntsec settings to call |
| appropriate functions. |
| |
| 2004-08-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (fhandler_dev_tape::raw_read): Use ?: instead of |
| if/else. |
| (fhandler_dev_tape::raw_write): Return -1 in case of error. |
| |
| 2004-08-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (_sys_errlist): Change various text to their english Linux |
| counterparts. Unify layout. |
| (strerror): Remove switch statement. |
| |
| 2004-08-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Set shared flags to 0 when |
| opening a tape device. |
| |
| 2004-08-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::dup): Increment dtable's |
| need_fixup_before counter on successful dup. |
| * net.cc (cygwin_getpeername): Add file descriptor to debug output. |
| |
| 2004-08-17 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler.h (fhandler_dev_dsp:~fhandler_dev_dsp): Delete. |
| (fhandler_dev_dsp::open_count): Delete. |
| (fhandler_dev_dsp::close_audio_in): New method declaration. |
| (fhandler_dev_dsp::close_audio_in): Ditto. |
| * fhandler_dsp.cc: Add and edit debug_printf throughout. |
| (fhandler_dev_dsp::Audio::denyAccess): Delete. |
| (fhandler_dev_dsp::Audio::fork_fixup): Ditto. |
| (fhandler_dev_dsp::Audio::getOwner): Ditto. |
| (fhandler_dev_dsp::Audio::clearOwner): Ditto. |
| (fhandler_dev_dsp::Audio::owner_): Ditto. |
| (fhandler_dev_dsp::Audio::setformat): Ditto, rename to setconvert. |
| (fhandler_dev_dsp::Audio::lock): Ditto, move to queue. |
| (fhandler_dev_dsp::Audio::unlock): Ditto. |
| (fhandler_dev_dsp::Audio::lock_): Ditto. |
| (fhandler_dev_dsp::Audio::bufferIndex_): New member, from Audio_out |
| and Audio_in. |
| (fhandler_dev_dsp::Audio::pHdr_): Ditto. |
| (fhandler_dev_dsp::Audio::wavehdr_): Ditto. |
| (fhandler_dev_dsp::Audio::bigwavebuffer_): ditto. |
| (fhandler_dev_dsp::Audio::Qisr2app_): Ditto. |
| (fhandler_dev_dsp::Audio::setconvert): New method, from old setformat. |
| (fhandler_dev_dsp::Audio::queue::lock): New method. |
| (fhandler_dev_dsp::Audio::queue::unlock): Ditto. |
| (fhandler_dev_dsp::Audio::queue::dellock): Ditto. |
| (fhandler_dev_dsp::Audio::queue::isvalid): Ditto. |
| (fhandler_dev_dsp::Audio::queue::lock_): New member. |
| (fhandler_dev_dsp::Audio::queue::depth1_): Delete. |
| (fhandler_dev_dsp::Audio_out::fork_fixup): New method. |
| (fhandler_dev_dsp::Audio_out::isvalid): New method. |
| (fhandler_dev_dsp::Audio_out::start): Remove arguments. |
| (fhandler_dev_dsp::Audio_out::parsewav): Change arguments and set |
| internal state. |
| (fhandler_dev_dsp::Audio_out::emptyblocks): Delete. |
| (fhandler_dev_dsp::Audio_out::Qapp2app_): Ditto. |
| (fhandler_dev_dsp::Audio_out::Qisr2app_): Ditto, move to Audio. |
| (fhandler_dev_dsp::Audio_out::bufferIndex_): Ditto. |
| (fhandler_dev_dsp::Audio_out::pHdr_): Ditto. |
| (fhandler_dev_dsp::Audio_out::wavehdr_): Ditto. |
| (fhandler_dev_dsp::Audio_out::bigwavefuffer_): Ditto. |
| (fhandler_dev_dsp::Audio_out::freq_): New member. |
| (fhandler_dev_dsp::Audio_out::bits_): New member. |
| (fhandler_dev_dsp::Audio_out::channels_): New member. |
| (fhandler_dev_dsp::Audio_in::fork_fixup): New method. |
| (fhandler_dev_dsp::Audio_in::isvalid): New method. |
| (fhandler_dev_dsp::Audio_in::Qapp2app_): Delete. |
| (fhandler_dev_dsp::Audio_in::Qisr2app_): Ditto, move to Audio. |
| (fhandler_dev_dsp::Audio_in::bufferIndex_): Ditto. |
| (fhandler_dev_dsp::Audio_in::pHdr_): Ditto. |
| (fhandler_dev_dsp::Audio_in::wavehdr_): Ditto. |
| (fhandler_dev_dsp::Audio_in::bigwavefuffer_): Ditto. |
| (fhandler_dev_dsp::Audio::queue::queue): Simplify. |
| (fhandler_dev_dsp::Audio::queue::send): Use lock. |
| (fhandler_dev_dsp::Audio::queue::query): Do not use depth1_. |
| (fhandler_dev_dsp::Audio::queue::recv): Ditto. |
| (fhandler_dev_dsp::Audio::Audio): Adapt to new class members. |
| (fhandler_dev_dsp::Audio::~Audio): Ditto |
| (fhandler_dev_dsp::Audio_out::start): Reorganize. |
| (fhandler_dev_dsp::Audio_out::stop): Simplify. |
| (fhandler_dev_dsp::Audio_out::init): Reset the queue and clear flag. |
| (fhandler_dev_dsp::Audio_out::write): Reorganize to allocate audio_out. |
| (fhandler_dev_dsp::Audio_out::buf_info): Use appropriate block size. |
| (fhandler_dev_dsp::Audio_out::callback_sampledone): Do not use lock. |
| (fhandler_dev_dsp::Audio_out::waitforspace): Simplify. |
| (fhandler_dev_dsp::Audio_out::waitforallsent):Ditto. |
| (fhandler_dev_dsp::Audio_out::sendcurrent): Reorganize. |
| Clear flag before requeuing. |
| (fhandler_dev_dsp::Audio_out::parsewav): |
| (fhandler_dev_dsp::Audio_in::start): Reorganize. |
| (fhandler_dev_dsp::Audio_in::stop): Simplify. |
| (fhandler_dev_dsp::Audio_in::queueblock): Ditto. |
| Requeue header in case of error. |
| (fhandler_dev_dsp::Audio_in::init): Reset the queue and clear flag. |
| (fhandler_dev_dsp::Audio_in::waitfordata): Simplify. |
| Do not UnprepareHeader if the flag is zero. |
| (fhandler_dev_dsp::Audio_in::buf_info): Ditto. |
| (fhandler_dev_dsp::Audio_in::callback_blockfull): Do not use lock. |
| (fhandler_dev_dsp::open_count): Delete. |
| (fhandler_dev_dsp::open): Only check existence, do not allocate |
| anything. Set flags appropriately. Create archetype. |
| (fhandler_dev_dsp::write): Call archetype as needed. Create audio_out. |
| (fhandler_dev_dsp::read): Call archetype as needed. Create audio_in. |
| (fhandler_dev_dsp::close): Call archetype as needed. |
| Call close_audio_in and close_audio_out. |
| (fhandler_dev_dsp::close_audio_in): New function. |
| (fhandler_dev_dsp::close_audio_out): New function. |
| (fhandler_dev_dsp::dup): Use archetypes. |
| (fhandler_dev_dsp::ioctl): Call archetype as needed. Reorganize for |
| new structures. |
| (fhandler_dev_dsp::fixup_after_fork): Call archetype as needed. |
| (fhandler_dev_dsp::fixup_after_exec): Call archetype as needed. |
| Clear audio_in and audio_out. |
| |
| 2004-08-14 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler.cc (fhandler_base::open_9x): Set file attributes |
| for new files. |
| |
| 2004-08-11 Christopher Faylor <cgf@timesys.com> |
| |
| * net.cc (cygwin_gethostbyname): Show failing host name on error. |
| |
| 2004-08-10 Christopher Faylor <cgf@redhat.com> |
| |
| * select.cc (select_stuff::wait): Correctly check for w4 array bounds. |
| |
| 2004-08-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (errmap): Add ERROR_TOO_MANY_LINKS -> EMLINK mapping. |
| * syscalls.cc (link): Only copy files if FS doesn't support hard links. |
| |
| 2004-07-26 Christopher January <chris@atomice.net> |
| |
| * fhandler_proc.cc (format_proc_cpuinfo): Remove Intel-specific flags |
| from /proc/cpuinfo on non-Intel processors. Added new AMD-specific |
| flags. Changed Intel flag names to match Linux. |
| |
| 2004-07-24 Christopher Faylor <cgf@timesys.com> |
| |
| * dcrt0.cc (dll_crt0_0): Use proper boolean arguments. |
| * pinfo.cc (pinfo::init): Don't consider MapViewOfFileEx error to be |
| fatal if exiting. |
| * pinfo.h (pinfo::init): Eliminate default argument and supply the |
| argument in the one case that needed it. |
| |
| 2004-07-24 Corinna Vinschen <corinna@vinschen.de> |
| Christopher Faylor <cgf@timesys.com> |
| |
| * autoload.cc (GetNativeSystemInfo): Add. |
| (IsWow64Process): Add. |
| * init.cc (respawn_wow64_process): New function. |
| (dll_entry): If process has been started from a 64 bit |
| process, call respawn_wow64_process. |
| * uname.cc (uname): On 64 bit systems, use GetNativeSystemInfo. |
| Show actual CPU type. |
| |
| 2004-07-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::get_debugger_info): Make stderr r/w according |
| to SUSv3. |
| |
| 2004-07-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::open): Use requested flag |
| values also when copying fhandler from archetype. |
| |
| 2004-07-22 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.cc (pinfo::init): Print handle in hex when MapViewOfFile fails. |
| |
| 2004-07-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shm.cc: Whitespace fixes. |
| |
| 2004-07-20 Christopher Faylor <cgf@timesys.com> |
| |
| * Makefile.in (clean): Remove cygwin.def since it is autogenerated. |
| |
| 2004-07-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::init): Fix non-ISO |
| expression. |
| * fhandler_floppy.cc (fhandler_dev_floppy::open): Remove unused |
| variable. |
| * fhandler_proc.cc (format_proc_meminfo): Fix compiler warning. |
| |
| 2004-07-16 Christopher Faylor <cgf@timesys.com> |
| |
| * pinfo.cc (pinfo::init): Guard against MapViewOfFileEx failure. |
| |
| 2004-07-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap_record::alloc_page_map): Mark pages as allocated even |
| on Windows 9x, FWIW. |
| |
| 2004-07-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mprotect): When MAP_WRITE protection is requested, use |
| READWRITE or WRITECOPY protection, whatever has been used when the |
| page has been allocated initially. |
| |
| 2004-07-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_dev_raw): Remove is_writing flag. |
| Remove declaration of writebuf. |
| (class fhandler_dev_floppy): Remove declaration of close. |
| * fhandler_floppy.cc (fhandler_dev_floppy::close): Delete. |
| (fhandler_dev_floppy::lseek): Remove calls to writebuf. Set |
| eom_detected to false after successful seek. |
| * fhandler_raw.cc (fhandler_dev_raw::writebuf): Delete. |
| (fhandler_dev_raw::raw_read): Remove calls to writebuf. |
| (fhandler_dev_raw::raw_write): Always invalidate buffer. |
| |
| 2004-07-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (class mmap_record): Fix return type of get_offset. |
| (mmap_record::fixup_page_map): Fix off by one error. |
| (list::search_record): Use long as type of "start" argument in both, |
| declaration and definition. Use long as type for local variable "i". |
| |
| 2004-07-14 Dave Korn <dk@artimi.com> |
| |
| * fhandler_registry.cc (registry_listing): Correct typo. |
| (fhandler_registry::fill_filebuf): Set size of newly expanded buffer |
| prior to calling RegQueryValueEx. |
| |
| 2004-07-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_raw.cc (fhandler_dev_raw::raw_write): Remove buffered |
| write entirely. |
| |
| 2004-07-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * spawn.cc (spawn_guts): Check if script is executable. |
| |
| 2004-06-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * times.cc (hires_ms::usecs): Don't overreact. |
| |
| 2004-06-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * times.cc (hires_ms::usecs): Reinit timer when system time overflows. |
| |
| 2004-06-27 Christopher Faylor <me@cgf.cx> |
| |
| * thread.cc (__cygwin_lock_lock): Don't bother locking when there is |
| only one known thread. |
| (__cygwin_lock_unlock): Ditto for unlocking. |
| |
| 2004-06-23 Tomas Ukkonen <tomas.ukkonen@iki.fi> |
| |
| * fhandler_proc.cc (format_proc_cpuinfo): Test CPU vendor and print |
| AMD specific 3dnow capabilities. |
| |
| 2004-06-23 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler_socket.cc (fhandler_socket::release): Call |
| WSASetLastError last. |
| |
| 2004-06-21 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * autoload.cc (wsock_init): Keep lock while modifying return address. |
| |
| 2004-06-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Remove 9x specific code. |
| |
| 2004-06-17 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler.cc (fhandler_base::open_9x): Do not check for null name. |
| Move debug_printf to common code line. |
| (fhandler_base::open): Ditto. Initialize upath. Remove second argument |
| of pc.get_nt_native_path. |
| * path.h (path_conv::get_nt_native_path): Remove second argument. |
| * path.cc (path_conv::get_nt_native_path): Ditto. Call str2uni_cat. |
| * security.h (str2buf2uni_cat): Delete declaration. |
| (str2uni_cat): New declaration. |
| * security.cc (str2buf2uni): Get length from sys_mbstowcs call. |
| (str2buf2uni_cat): Delete function. |
| (str2uni_cat): New function. |
| * miscfuncs.cc (sys_mbstowcs): Add debug_printf. |
| |
| 2004-06-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Substitute FILE_SUPERSEDE with |
| FILE_OVERWRITE_IF. |
| |
| 2004-06-09 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * include/cygwin/version.h: REALLY bump dll minor version to 11. |
| |
| 2004-06-08 Egor Duda <deo@corpit.ru> |
| |
| * include/cygwin/ipc.h: Make IPC_INFO visible only for ipc system |
| utilities, to make it consistent with declaration of struct seminfo. |
| |
| 2004-06-08 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (fchdir): Pass the Posix path to chdir. |
| |
| 2004-06-07 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * dtable.cc (dtable::find_fifo): Release lock after fifo found (still |
| racy). |
| * fhandler.h (fhandler_fifo::get_io_handle): New fifo-specific method. |
| * fhandler_fifo.cc (fhandler_fifo::close): Close output_handle only if |
| it is open. |
| (fhandler_fifo::open_not_mine): Reorganize slightly. Don't call _pinfo |
| methods when the fifo is owned by me or suffer dtable lock_cs deadlock. |
| (fhandler_fifo::open): Call open_not_mine first, otherwise open myself |
| (racy). |
| * pinfo.cc (_pinfo::commune_recv): Duplicate fifo handles here in |
| requesting processes arena to avoid one potential race (of many). |
| (_pinfo::commune_send): Move all PICOM_FIFO code under one case |
| statement. |
| |
| * thread.cc (pthread::init_mainthread) Use existing hMainProc handle |
| rather than calling GetCurrentProcess. |
| |
| 2004-06-04 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * winbase.h (ilockincr): Add more neverending changes from the |
| inexplicable world of gcc asm constraint magic. Should stop random |
| crashes. |
| (ilockdecr): Ditto. |
| |
| 2004-06-03 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * autoload.cc (IsDosDeviceName_U): Define. |
| * ntdll.h (IsDosDeviceName_U): Declare. |
| * fhandler.cc (fhandler_base::open): Check to see if win32_name is a |
| dos device and just call the 9x open if so. |
| |
| 2004-06-03 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * winbase.h (ilockincr): More changes from the inexplicable world of |
| gcc asm magic. |
| (ilockdecr): Ditto. |
| |
| 2004-06-03 Christopher Faylor <me@cgf.cx> |
| |
| * winbase.h (ilockincr): YA correction to ensure correct operation with |
| no optimization. |
| (ilockdecr): Ditto. |
| |
| 2004-06-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygserver.h (CYGWIN_SERVER_VERSION_API): Bump. |
| |
| 2004-06-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/ipc.h (IPC_KEY_IS_SHMID): Redefine to a more sensible |
| value. |
| |
| 2004-06-02 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * cygheap.cc (cmalloc): Add debugging hook. |
| |
| 2004-06-02 Christophe Jaillet <christophe.jaillet@wanadoo.fr> |
| |
| * spawn.cc (find_exec): Use has_slash to determine if path has a slash |
| rather than calculating this twice. |
| |
| 2004-05-30 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (mount_info::add_item): Make sure native path has drive |
| or UNC form. Call normalize_xxx_path instead of [back]slashify. |
| Remove test for double slashes. Reorganize to always debug_print. |
| |
| 2004-05-28 Pierre Humblet <Pierre.Humblet@ieee.org> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Only try to open |
| the file if it uses an acl. |
| |
| 2004-05-28 Pierre Humblet <Pierre.Humblet@ieee.org> |
| |
| * path.cc (chdir): Always use the normalized_path as posix_cwd, except |
| if it starts with a drive. |
| |
| 2004-05-25 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * winbase.h: Semi-revert previous patch as it caused strange behavior. |
| Use syntax similar to that recommended in mingw-dvlpr. |
| |
| 2004-05-25 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * include/cygwin/version.h: Bump DLL minor number to 11. |
| |
| 2004-05-25 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * winbase.h: Add proper attributions for memory operands throughout. |
| |
| 2004-05-24 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * include/cygwin/version.h: Bump api minor version number. |
| |
| 2004-05-24 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * cygwin.din: Export atoll. |
| |
| 2004-05-20 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * tty.cc (tty_list::allocate_tty): Leave tty_mutex armed on successful |
| return from !with_console |
| * fhandler_tty.cc (fhandler_pty_master::open): Release tty_mutex here |
| after all initialization is done. |
| |
| 2004-05-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (getgrgid_r): Replace struct group by struct __group32 in |
| argument definition. |
| (getgrnam_r): Ditto. |
| |
| 2004-05-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Add symbols flockfile, ftrylockfile, funlockfile, |
| getgrgid_r, getgrnam_r and getlogin_r. |
| * grp.cc (getgrgid_r): New function. |
| (getgrnam_r): Ditto. |
| * syscalls.cc (flockfile): Ditto. |
| (ftrylockfile): Ditto. |
| (funlockfile): Ditto. |
| * sysconf.cc (sysconf): Return LOGIN_NAME_MAX in case of |
| _SC_LOGIN_NAME_MAX. |
| * thread.cc (__cygwin_lock_trylock): Define int. Return value from |
| call to pthread_mutex_trylock. |
| * uinfo.cc (getlogin_r): New function. |
| * include/limits.h: Define LOGIN_NAME_MAX. |
| * include/cygwin/version.h: Bump API minor number. |
| * include/sys/lock.h: Add declarations for __cygwin_lock_xxx functions. |
| * include/sys/stdio.h: Add define for _ftrylockfile. |
| |
| 2004-05-17 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * tty.cc (tty_list::init): Move hmaster initialization earlier to |
| prevent compilation error. |
| |
| 2004-05-17 Christopher Faylor <cgf@alum.bu.edu> |
| |
| Change the name "title_mutex" to "tty_mutex" throughout. |
| * tty.h (tty_list::allocate_tty): Turn argument into a boolean. |
| * tty.cc (tty_list::init): Protect entire allocation operation with |
| tty_mutex (formerly title_mutex) to protect against allocation races. |
| |
| 2004-05-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::recvfrom): Use original flags |
| value in each WSARecvFrom call. |
| (fhandler_socket::recvmsg): Ditto. Reformat slightly. |
| |
| 2004-05-15 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * cygthread.cc (cygthread::is): Eliminate. |
| * cygthread.h (cygthread::is): Eliminate declaratin. |
| * fhandler_console.cc (fhandler_console::read): Only wait for |
| signal_arrived in the main thread. |
| * fhandler_socket.cc: Include new "wininfo.h". |
| (fhandler_socket::ioctl): Use 'winmsg' rather than 'gethwnd()'. |
| * sync.cc (muto::grab): Define new function. |
| (muto::acquire): Use tls pointer rather than tid. |
| (muto::acquired): Ditto. |
| (muto::reset): Delete. |
| (muto::release): Ditto. Also implement "close on last release". |
| * sync.h (muto::tid): Delete. |
| (muto::tls): New field. |
| (muto::ismine): Delete. |
| (muto::owner): Delete. |
| (muto::unstable): Delete. |
| (muto::reset): Delete. |
| (muto::upforgrabs): New method. |
| (muto::grab): Ditto. |
| (new_muto_name): New define. |
| * wininfo.h: New file. |
| (wininfo): New class. |
| * window.cc: Rework throughout to use winfo class for controlling |
| invisible window operation. |
| (gethwnd): Delete definition. |
| * winsup.h (gethwnd): Delete declaration. |
| |
| 2004-05-15 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * cygheap.h: Remove some parameter names from declarations throughout. |
| (cygheap::set): Reflect changes in declaration for arguments and return |
| value from previous checkin. |
| |
| 2004-05-15 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * cygheap.h (cwdstuff::set): Modify return value and arguments. |
| * path.cc (chdir): Specify PC_POSIX. Do not call SetCurrentDirectory. |
| Set posix_cwd in a way that does not break find.exe. Change call to |
| cwd.set. |
| (cwdstuff::get_initial): Do not call GetCurrentDirectory here. |
| (cwdstuff::set): Call SetCurrentDirectory and GetCurrentDirectory as |
| needed. |
| |
| 2004-05-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Don't bail out with error if path is "//". |
| |
| 2004-05-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.h (struct init_cygheap): Add mt_h member. |
| * fhandler_tape.cc (mt_h): Drop in favor of cygheap based handle. |
| (mtinfo_init): Use cygheap->mt_h handle. Protect it. |
| |
| 2004-05-12 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * tty.h: Remove the %d or %x from all cygtty strings. |
| (tty::open_output_mutex): Only declare. |
| (tty::open_input_mutex): Ditto. |
| (tty::open_mutex): New definition. |
| * fhandler_tty.cc (fhandler_tty_slave::open): Declare buf with |
| size CYG_MAX_PATH and replace __small_printf calls by shared_name. |
| * tty.cc (tty::create_inuse): Ditto. |
| (tty::get_event): Ditto. |
| (tty::common_init): Ditto. |
| (tty::open_output_mutex): New method definition. |
| (tty::open_input_mutex): Ditto. |
| (tty::open_mutex): New method. |
| |
| 2004-05-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Set file attributes to correct |
| value when creating files. |
| * path.h (class path_conv): Add write accessor for file_attributes. |
| |
| 2004-05-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_socket): Add "owner" status flag. |
| * fhandler_socket.cc (wait): Take flag parameter to take FD_OOB into |
| account. Don't wait infinitely. |
| (fhandler_socket::recvfrom): Also wait for FD_OOB if socket owner. |
| (fhandler_socket::recvmsg): Ditto. |
| (fhandler_socket::sendto): Ditto. |
| (fhandler_socket::sendmsg): Ditto. |
| (fhandler_socket::fcntl): Set owner status flag if F_SETOWN with own |
| pid is called. |
| |
| 2004-05-09 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * environ.cc (build_env): Only try to construct required-but-missing |
| variables while issetuid. |
| |
| 2004-05-08 Pierre Humblet <pierre.humblet@ieee.org> |
| Christopher Faylor <cgf@timesys.com> |
| |
| * syscalls.cc: Include environ.h. |
| (chroot): Set errno in case of path error. Call getwinenv. |
| * environ.cc: Remove the NO_COPY attribute of conv_envvars. |
| |
| 2004-05-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_mem.cc (fhandler_dev_mem::fhandler_dev_mem): Move |
| initialization of "mem_size" from here... |
| (fhandler_dev_mem::open): ...to here. Fix typo in FH_PORT case. |
| |
| 2004-05-07 Gerd Spalink <Gerd.Spalink@t-online.de> |
| |
| * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Move delete of |
| bigwavebuffer_ so that it is always cleaned, also in child processes. |
| (fhandler_dev_dsp::Audio_in::stop): Ditto. |
| (fhandler_dev_dsp::close): Stop audio play immediately in case of |
| abnormal exit. |
| |
| 2004-05-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| Revert code reversion from 2004-04-03. So, revert to async I/O again. |
| * fhandler.h (status): Add "closed" flag. |
| (prepare): New method declaration. |
| (wait): Ditto. |
| (release): Ditto. |
| * fhandler_socket.cc: Don't include wsock_event.h. |
| (fhandler_socket::prepare): New method, moved from wsock_event. |
| (fhandler_socket::wait): Ditto. |
| (fhandler_socket::release): New method. |
| (fhandler_socket::recvfrom): Simplify loop. |
| (fhandler_socket::recvmsg): Ditto. |
| (fhandler_socket::sendto): Ditto. |
| (fhandler_socket::sendmsg): Ditto. |
| * net.cc: Don't include wsock_event.h. |
| (wsock_event::prepare): Remove. |
| (wsock_event::wait): Ditto. |
| * wsock_event.h: Remove. |
| |
| 2004-05-06 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * thread.cc (pthread::create): Move postcreate call to avoid a |
| potential race. |
| (pthread::cancelable_wait): Don't allow signal interrupt unless main |
| thread. |
| |
| 2004-05-07 Pierre Humblet <pierre.humblet@ieee.org> |
| Christopher Faylor <cgf@timesys.com> |
| |
| * path.cc (mount_info::conv_to_posix_path): Return proper status when |
| chrooted. |
| |
| 2004-05-06 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (path_conv::check): Strip trailing dots and spaces and |
| return error if the final component had only dots and spaces. |
| (normalize_posix_path): Revert 2004-04-30. |
| (chdir): Do not check for trailing spaces. Do not set native_dir |
| to c:\ for virtual devices. Pass only native_dir to cwd.set. |
| (cwdstuff::set): Assume posix_cwd is already normalized. |
| |
| 2004-05-04 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * path.cc (normalize_win32_path): Detect components with only dots. |
| Remove a final . if it follows '\\'. |
| (mount_info::conv_to_win32_path): Only backslashify the path when no |
| mount is found. |
| (chdir): Do not look for components with only dots. |
| |
| 2004-05-04 Pierre Humblet <pierre.humblet@ieee.org> |
| Christopher Faylor <cgf@alum.bu.edu> |
| |
| * path.cc (is_unc_share): Remove redundant tests. |
| |
| 2004-05-04 Corinna Vinschen <corinna@vinschen.de> |
| |
| * crt0.o (mainCRTStartup): 16 byte align stack for main function. |
| |
| 2004-05-04 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (check_sysfile): Don't scan string twice. |
| |
| 2004-05-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (writable_directory): Remove. |
| (mkdir): Remove call to writable_directory. |
| * syscalls.cc (unlink): Ditto. |
| (rename): Ditto. |
| * winsup.h (writable_directory): Remove declaration. |
| |
| 2004-04-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Call path_conv::get_nt_native_path |
| for evaluating NT path. |
| * path.cc (normalize_posix_path): Remove trailing dots and spaces. |
| (path_conv::get_nt_native_path): New function. |
| * path.h (class path_conv): Declare get_nt_native_path method. |
| |
| 2004-04-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Fix NT native path evaluation |
| to allow opening serial ports. |
| |
| 2004-04-30 DJ Delorie <dj@redhat.com> |
| |
| * init.cc (threadfunc_fe): Hack to make thread stacks always 16 |
| byte aligned. |
| |
| 2004-04-21 Yitzchak Scott-Thoennes <sthoenna@efn.org> |
| |
| * syscalls.cc (lseek64): Fix debug_printf format string. |
| (truncate64): Ditto. |
| |
| 2004-04-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::lseek): Force res to -1 on error. |
| |
| 2004-04-20 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * path.cc (is_unc_share): Rename from slash_unc_prefix_p throughout. |
| |
| 2004-04-20 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (normalize_posix_path): Process all Posix paths and map three |
| or more initial slashes to a single one. Simplify processing following |
| two initial slashes. |
| (normalize_win32_path): Make last argument non-optional and do not |
| check for NULL value. |
| |
| 2004-04-20 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler_disk_file.cc (fhandler_base::open_fs): Change |
| set_file_attribute call to indicate that NT security isn't used. |
| (fhandler_disk_file::fchmod): Rearrange to isolate 9x related |
| statements. |
| Do not set FILE_ATTRIBUTE_SYSTEM. |
| (fhandler_disk_file::fchown): Check noop case first. |
| * fhandler.cc (fhandler_base::open9x): Remove ntsec related statements. |
| (fhandler_base::set_name): Do not set namehash. |
| * fhandler.h (fhandler_base::get_namehash): Compute and set namehash if |
| needed. |
| * syscalls.cc (access): Verify that fh is not NULL. Do not set PC_FULL. |
| (chmod): Ditto. |
| (chown_worker): Ditto. |
| (stat_worker): Ditto. Verify if the path exists. |
| |
| 2004-04-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Remove special DEV_FLOPPY_MAJOR |
| treatment. |
| * fhandler_raw.cc (fhandler_dev_raw::open): Simplify write-only case. |
| * fhandler_tape.cc (fhandler_dev_tape::raw_write): Add accidentally |
| dropped condition. |
| |
| 2004-04-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Add FILE_READ_ATTRIBUTES when |
| only GENERIC_WRITE access is requested. |
| |
| 2004-04-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/mtio.h (GMT_ASYNC): New define. |
| (MT_ST_ASYNC_WRITES): Remove "Not supported" comment. |
| |
| 2004-04-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (errmap): Handle ERROR_IO_PENDING. |
| * fhandler.cc (fhandler_base::open): Make tape I/O asynchronous. |
| * fhandler.h (class fhandler_dev_tape): Add mt_evt member. |
| * fhandler_tape.cc (mtinfo_drive::initialize): Initialize async_writes. |
| (mtinfo_drive::close): Handle async writes. |
| (mtinfo_drive::read): Add mt_evt parameter. Use overlapped I/O. |
| (mtinfo_drive::async_wait): New function. |
| (mtinfo_drive::write): Add mt_evt parameter. Use overlapped I/O. |
| Handle async writes. |
| (mtinfo_drive::_set_pos): Handle async writes. |
| (mtinfo_drive::set_partition): Ditto. |
| (mtinfo_drive::prepare): Ditto. |
| (mtinfo_drive::get_status): Drop useless "else". Handle async_writes |
| flag. |
| (mtinfo_drive::set_options): Handle async_writes flags. |
| (fhandler_dev_tape::close): Close mt_evt handle. |
| (fhandler_dev_tape::raw_read): Create mt_evt handle and use in call |
| to mtinfo_drive::read. |
| (fhandler_dev_tape::raw_write): Create mt_evt handle and use in call |
| to mtinfo_drive::write. |
| * mtinfo.h (MTINFO_VERSION): Bump. |
| (enum dirty_state): Add async_write_pending state. |
| (class mtinfo_drive): Add OVERLAPPED struct "ov". Add async_writes |
| flag. |
| (mtinfo_drive::async_wait): Add declaration. |
| (mtinfo_drive::read): Add mt_evt parameter. |
| (mtinfo_drive::write): Ditto. |
| |
| * registry.cc (load_registry_hive): Call enable_restore_privilege |
| instead of set_process_privilege. |
| |
| 2004-04-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait |
| parameter. Use in call to SetTapePosition. |
| (mtinfo_drive::set_pos): Accommodate _set_pos calls to above change. |
| (mtinfo_drive::set_partition): Ditto. |
| * mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly. |
| |
| 2004-04-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (NtCreateFile): Add. |
| * dir.cc (mkdir): Change set_file_attribute call to indicate that |
| NT security isn't used. |
| * fhandler.cc (fhandler_base::open_9x): New method, created from |
| fhandler_base::open. |
| (fhandler_base::open): Rearrange to use NtCreateFile instead of |
| CreateFile. |
| * fhandler.h (enum query_state): Redefine query_null_access to |
| query_stat_control. query_null_access isn't allowed in NtCreateFile. |
| (fhandler_base::open_9x): Declare. |
| * fhandler_disk_file.cc (fhandler_base::fstat_fs): Use |
| query_stat_control first, query_read_control if that fails. |
| (fhandler_disk_file::fchmod): Call enable_restore_privilege before |
| trying to open for query_write_control. Don't fall back to |
| opening for query_read_control. |
| (fhandler_disk_file::fchown): Ditto. |
| (fhandler_disk_file::facl): Only request restore privilege and query |
| access necessary for given cmd. |
| * fhandler_raw.cc (fhandler_dev_raw::open): Call fhandler_base::open |
| instead of opening device here. |
| * ntdll.h (NtCreateFile): Declare. |
| * path.cc (symlink_worker): Change set_file_attribute call to indicate |
| that NT security isn't used. |
| * sec_acl.cc (getacl): Fix bracketing. |
| * sec_helper.cc (enable_restore_privilege): New function. |
| * security.cc (str2buf2uni_cat): New function. |
| (write_sd): Don't request restore permission here. |
| * security.h (set_process_privileges): Drop stale declaration. |
| (str2buf2uni): Declare. |
| (str2buf2uni_cat): Declare. |
| (enable_restore_privilege): Declare. |
| * syscalls.cc (fchown32): Return immediate success on 9x. |
| |
| 2004-04-15 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * autoload.cc (dll_chain1): Rename to dll_chain. Remove old dll_chain |
| code. |
| (wsock_init): Avoid unneeded winsock_active tests. |
| * winsup.h (winsock_active): Delete. |
| |
| 2004-04-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Try opening |
| in query_read mode if query_write fails. |
| * fhandler_disk_file.cc (fhandler_disk_file::fchown): Ditto. |
| * fhandler_disk_file.cc (fhandler_disk_file::facl): Ditto. |
| |
| 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * ntdll.h: Fix copyright date. |
| * sec_acl.cc (acl_worker): Delete allocated fhandler. |
| * syscalls.cc (chown_worker): Ditto. |
| (chmod): Ditto. |
| (stat_worker): Use get_namehash instead of hash_path_name. |
| |
| 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_acl.cc (getacl): Avoid compiler warning. |
| * security.cc (write_sd): Ditto. Fix error handling. |
| |
| 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (fstat64): Use get_namehash instead of hash_path_name. |
| |
| 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Simplify access evaluation |
| expression. |
| (fhandler_base::facl): New method. |
| * fhandler.h: Declare facl method in fhandler_base, |
| fhandler_disk_file and fhandler_virtual. |
| * fhandler_disk_file.cc (fhandler_disk_file::facl): New method. |
| * fhandler_virtual.cc (fhandler_virtual::facl): New method. |
| * sec_acl.cc: Remove forward declaration for aclsort32 and acl32. |
| (setacl): Remove static. Add and use handle parameter. |
| (getacl): Ditto. |
| (acl_worker): Reorganize to call fhandler's facl method eventually. |
| (facl32): Ditto. |
| * security.cc (get_nt_object_security): Remove static. |
| * security.h: Add extern declarations for get_nt_object_security, |
| aclsort32, acl32, getacl and setacl. |
| |
| 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Accommodate query_write_control |
| query_state. |
| (fhandler_base::fchown): New method. |
| * fhandler.h: Declare fchown method in fhandler_base, |
| fhandler_disk_file and fhandler_virtual. |
| (enum query_state): Add query_write_control. |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Set query_state |
| to query_write_control. Only remove FILE_ATTRIBUTE_READONLY if not |
| setting security descriptor. |
| (fhandler_disk_file::fchown): New method. |
| * fhandler_virtual.cc (fhandler_virtual::fchown): New method. |
| * sec_acl.cc (setacl): Call write_sd with additional handle attribute. |
| * security.cc (write_sd): Take handle argument. Only request owner |
| if getting SE_RESTORE_NAME privilege failed. Only open file if |
| NtSetSecurityObject failed or handle is NULL. |
| (set_nt_attribute): Call write_sd with additional handle attribute. |
| * security.h (write_sd): Declare with additional handle argument. |
| * syscalls.cc (chown_worker): Reorganize to call fhandler's fchown |
| method eventually. |
| (fchown): Ditto. |
| |
| 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (NtSetSecurityObject): Add. |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Only request |
| READ_CONTROL rights when opening the file. |
| * ntdll.h (NtSetSecurityObject): Add declaration. |
| * security.cc (write_sd): Call NtSetSecurityObject instead of |
| BackupWrite. |
| (get_nt_object_security): Don't free security descriptor here. |
| |
| 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (ttyname): Use buffer of length TTY_NAME_MAX + 1. |
| * sysconf.cc (sysconf): Handle _SC_TTY_NAME_MAX request. |
| * include/limits.h: Define TTY_NAME_MAX and _POSIX_TTY_NAME_MAX. |
| |
| 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Export rand_r and ttyname_r. |
| * syscalls.cc (ttyname_r): New function. |
| (ttyname): Move functionality to ttyname_r. Call it from here. |
| * include/cygwin/version.h: Bump API minor number. |
| |
| 2004-04-14 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.h (path_conv::set_symlink): Add argument. |
| (path_conv::get_symlink_length): New method. |
| (path_conv::symlink_length): New member. |
| * path.cc (path_conv::check): Pass symlen to set_symlink. |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): For symlinks |
| set st_size from get_symlink_length. |
| |
| 2004-04-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (set_nt_attribute): Only call get_nt_object_security |
| if handle is NULL. |
| |
| 2004-04-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (mkdir): Call set_file_attribute with additional handle |
| argument. |
| * fhandler.cc (fhandler_base::fchmod): New method. |
| * fhandler.h: Declare fchmod method in fhandler_base, |
| fhandler_disk_file and fhandler_virtual. |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): New method. |
| (fhandler_base::open_fs): Call set_file_attribute with additional |
| handle argument. |
| * fhandler_virtual.cc (fhandler_virtual::fchmod): New method. |
| * path.cc (symlink_worker): Call set_file_attribute with additional |
| handle argument. |
| * security.cc (get_nt_object_security): New function. |
| (get_nt_object_attribute): Call get_nt_object_security. |
| (set_nt_attribute): Add handle argument. Call get_nt_object_security |
| first, read_sd only if that fails. |
| (set_file_attribute): Add handle argument. |
| * security.h (set_file_attribute): Declare with additional handle |
| argument. |
| * syscalls.cc (stat_suffixes): Move to beginning of file. |
| (chown_worker): Call set_file_attribute with additional handle argument. |
| (chmod): Reorganize to call fhandler's fchmod method eventually. |
| (fchmod): Ditto. |
| |
| 2004-04-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (NtQuerySecurityObject): Add. |
| * ntdll.h (STATUS_BUFFER_TOO_SMALL): Add definition. |
| (NtQuerySecurityObject): Add declaration. |
| * security.cc (get_nt_object_attribute): Always use |
| NtQuerySecurityObject to retrieve security descriptor. |
| |
| 2004-04-13 Gerd Spalink <Gerd.Spalink@t-online.de> |
| |
| * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Add optional |
| boolean argument so that playing can be stopped without playing |
| pending buffers. |
| (fhandler_dev_dsp::ioctl): Stop playback immediately for |
| SNDCTL_DSP_RESET. Do not reset audio parameters in this case. |
| Add support for ioctl SNDCTL_DSP_GETISPACE. |
| (fhandler_dev_dsp::Audio_out::emptyblocks): Now returns the number of |
| completely empty blocks. |
| (fhandler_dev_dsp::Audio_out::buf_info): p->fragments is now the number |
| of completely empty blocks. This conforms with the OSS specification. |
| (fhandler_dev_dsp::Audio_out::parsewav): Ignore wave headers that are |
| not aligned on four byte boundary. |
| (fhandler_dev_dsp::Audio_in::buf_info): New, needed for |
| SNDCTL_DSP_GETISPACE. |
| |
| 2004-04-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * winsup.h (IMPLEMENT_STATUS_FLAG): New macro to define status flag |
| accessor methods unambiguously. |
| * fhandler.h: Use IMPLEMENT_STATUS_FLAG throughout where possible. |
| * fhandler_termios.cc (fhandler_termios::tcinit): Call corrected |
| accessor for initialized status flag. |
| * mtinfo.h (class mtinfo_drive): Use IMPLEMENT_STATUS_FLAG throughout. |
| * path.cc (fs_info::update): Remove duplicate call to flags(). |
| * path.h (struct fs_info): Use IMPLEMENT_STATUS_FLAG where possible. |
| (path_conv::is_auto_device): Fix spacing. |
| * tty.h (class tty_min): Use IMPLEMENT_STATUS_FLAG throughout. |
| |
| 2004-04-12 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * thread.cc (pthread::thread_init_wrapper): Wait later to get more |
| parallel behavior. |
| |
| 2004-04-12 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * thread.cc (pthread::create): Use thread mutex to control |
| synchronization rather than creating a suspended thread. Wait for |
| "cancellation event" to indicate that started thread has been properly |
| initialized. |
| (pthread::thread_init_wrapper): Use set_tls_self_pointer() to set tid |
| and cygtls. Signal with cancel_event when done. |
| |
| 2004-04-12 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (path_conv::check): Fix "tail filling" logic. |
| |
| 2004-04-11 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * cygheap.h: Replace inexplicably removed closing brace. |
| |
| 2004-04-11 Christopher Faylor <cgf@alum.bu.edu> |
| |
| * cygheap.h (CYGHEAP_SLOP): Reduce drastically to avoid collisions. |
| |
| 2004-04-11 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * dtable.cc (dtable::extend): Change order of memcpy and cfree. |
| |
| 2004-04-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (sync): Define void according to SUSv3. |
| |
| 2004-04-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_acl.cc (setacl): Use correct offset when trying to combine |
| standard and default entry of same type. |
| |
| 2004-04-10 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler.cc (rootdir): Add and use second argument. |
| * winsup.h (rootdir): Add second argument in declaration. |
| * path.cc (fs_info::update): Modify call to rootdir. |
| * syscalls.cc (check_posix_perm): Ditto. |
| (statfs): Ditto. Move syscall_printf near top. |
| |
| 2004-04-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Use new unified status_flag accessor methods from classes fhandler_*, |
| tty_min, mtinfo and fs_info thoroughout. |
| * fhandler.h: Redefine all set_close_on_exec methods to take a bool |
| argument. |
| (enum conn_state): Rename from connect_state. |
| (class fhandler_base): Rename some status flags to align with |
| accessor method names. Drop encoded flag entirely. Unify status |
| accessor methods. Const'ify all read accessor methods. |
| (class fhandler_socket): Ditto. |
| (class fhandler_dev_raw): Ditto. |
| * fhandler_disk_file.cc (fhandler_base::fstat_fs): Use fs.fs_is_fat() |
| instead of evaluating FATness of file system here. |
| (fhandler_disk_file::opendir): Drop call to set_encoded(). |
| (fhandler_disk_file::readdir): Use pc.isencoded() directly. |
| * mtinfo.h (class mtinfo_drive): Const'ify all read accessor methods. |
| * path.cc (fsinfo_cnt): Add. |
| (fs_info::update): Accommodate class changes. Evaluate file system |
| name specific flags right here. Add thread safety for reading and |
| writing global fsinfo array. |
| * path.h (enum path_types): Drop values for flags kept in fs already. |
| (struct fs_info): Move status informatin into private struct type |
| status_flags. Add accessor methods. Remove path and file system |
| name string arrays in favor of status bits. |
| (class path_conv): Use new fs_info status information where |
| appropriate. |
| (path_conf::fs_has_ea): Rename from fs_fast_ea. |
| (path_conf::fs_has_acls): New method. |
| (path_conf::root_dir): Remove. |
| (path_conf::volname): Remove. |
| * syscalls (statfs): Evaluate root dir locally. |
| * tty.h (class tty_min): Unify status accessor methods. Const'ify |
| all read accessor methods. |
| |
| 2004-04-09 Thomas Pfaff <tpfaff@gmx.net> |
| |
| * thread.h (pthread::init_mainthread): Remove parameter forked. |
| (pthread::set_tls_self_pointer): New static function. |
| * thread.cc (MTinterface::fixup_after_fork): Change call to |
| pthread::init_mainthread. |
| (pthread::init_mainthread): Remove parameter forked. Simplify thread |
| self pointer handling. |
| (pthread::self): Set thread self pointer to null_pthread if thread has |
| not been initialized. |
| (pthread::set_tls_self_pointer): New static function. |
| |
| 2004-04-05 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (path_conv::check): Optimize symlink replacements. |
| |
| 2004-04-09 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (normalize_posix_path): Add "tail" argument and set it. |
| Always have a final slash for directories. Pass 3rd argument to |
| normalize_win32_path. |
| (path_conv::check): Pass tail to normalize_posix_path. Set |
| need_directory and remove final slash after that call. Remove last |
| argument to mount_table->conv_to_win32_path(). Remove noop dostail |
| check. Remove fs.update() from inner loop. Improve tail finding |
| search. |
| (normalize_win32_path): Add and set tail argument. |
| (mount_item::build_win32): Avoid calling strcpy. |
| (mount_info::conv_to_win32_path): Remove third argument and simplify |
| because the source is normalized. Keep /proc path in Posix form. Call |
| win32_device_name() only once. |
| (mount_info::conv_to_posix_path): Add and use 3rd argument to |
| normalize_win32_path to avoid calling strlen. |
| (cwdstuff::set): Add 3rd argument to normalize_posix_path and remove |
| final slash if any. |
| * shared_info.h (mount_info::conv_to_win32_path): Remove last argument |
| in declaration. |
| |
| 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_dev_raw): Move status bits into protected |
| bitfield struct type status_flags. Drop unused has_written bit. |
| Add accessor methods. |
| (fhandler_dev_raw::clear): Remove. |
| (fhandler_dev_raw::reset_devbuf): Remove. |
| * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Use accessor method |
| for is_writing. |
| * fhandler_raw.cc: Use status accessor methods throughout. |
| (fhandler_dev_raw::clear): Remove. |
| (fhandler_dev_raw::fhandler_dev_raw): Drop clear call. |
| (fhandler_dev_raw::~fhandler_dev_raw): Ditto. |
| * fhandler_tape.cc: Use mtinfo::status accessor methods throughout. |
| (mtinfo_drive::close): Fix conditional to enable BSD semantics |
| correctly. |
| (mtinfo_drive::get_status): Rename from mtinfo_drive::status. |
| * mtinfo.h (class mtinfo_drive): Move status bits into private bitfield |
| struct type status_flags. Add accessor methods. |
| Rename status method to get_status. |
| |
| 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (fsinfo): Global storage for file system information. |
| (fs_info::update): Store file system information also in fsinfo and |
| short circuit GetVolumeInformation by using alredy stored file system |
| information. |
| |
| 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (fhandler_base::status): Declare private. |
| (fhandler_base::open_status): Ditto. |
| (class fhandler_socket): Move status bits into private bitfield struct |
| type status_flags. Change accessor methods appropriately. |
| * fhandler_socket.cc (fhandler_socket::fhandler_socket): Accommodate |
| above status bit changes. |
| * tty.h: Remove status bit enumerator. |
| (TTYISSETF): Remove. |
| (TTYSETF): Remove. |
| (TTYCLEARF): Remove. |
| (TTYCONDSETF): Remove. |
| (tty_min::status): Define as private bitfield struct type status_flags. |
| Add appropriate accessor methods. |
| * fhandler_console.cc: Use tty_min::status accessor methods throughout. |
| * fhandler_termios.cc: Ditto. |
| * winsup.h (__ISSETF): Remove. |
| (__SETF): Remove. |
| (__CLEARF): Remove. |
| (__CONDSETF): Remove. |
| |
| 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::write): Use bool parameter in calls to |
| set_did_lseek. |
| (fhandler_base::fhandler_base): Accommodate new status and open_status |
| constructor. |
| * fhandler.h: Remove status bit enumerator. |
| (FHDEVN): Remove. |
| (FHISSETF): Remove. |
| (FHSETF): Remove. |
| (FHCLEARF): Remove. |
| (FHCONDSETF): Remove. |
| (FHSTATOFF): Remove. |
| (UNCONNECTED, CONNECT_PENDING, CONNECTED): Substitute by enum |
| connect_state. |
| (fhandler_base::status): Define as bitfield struct type status_flags. |
| Remove unused flags entirely. Accommodate all status access methods. |
| (open_status): Define as bitfield struct type status_flags. |
| (fhandler_socket): Move socket related status bits to here. Redefine |
| had_connect_or_listen to be part of these status bits. Accommodate |
| related access methods. |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Use pc.issymlink |
| instead of dropped method get_symlink_p. |
| (fhandler_base::open_fs): Remove setting dropped status flags. |
| * fhandler_socket.cc: Use values from enum connect_state throughout. |
| (fhandler_socket::fhandler_socket): Initialize status bits. |
| * fhandler_virtual.cc (fhandler_virtual::open): Remove setting dropped |
| status flags. |
| * net.cc: Use values from enum connect_state throughout. |
| * select.cc: Ditto. |
| * shared_info.h: Protect struct console_state using _FHANDLER_H_ |
| instead of FHDEVN. |
| |
| 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (get_file_attribute): Fix conditional. |
| |
| 2004-04-08 Christopher Faylor <cgf@bosbc.com> |
| |
| * child_info.h: Update CHILD_INFO_MAGIC after 2004-04-03 change. |
| |
| 2004-04-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (hash_path_name): Replace hash algorithm with SDBM. |
| |
| 2004-04-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Set query access mode according |
| to query_open setting. |
| (fhandler_base::fhandler_base): Initialize query_open. |
| * fhandler.h (FH_QUERYOPEN): Drop. |
| (enum query_state): Add. |
| (class fhandler_base): Add query_open member. |
| (fhandler_base::get_query_open): Redefine to use query_open. |
| (fhandler_base::set_query_open): Ditto. |
| * fhandler_disk_file.cc (fhandler_base::fstat_fs): Remove O_DIROPEN |
| from open_flags since it's added in open_fs anyway. Remove |
| query_open_already. Use new query_open settings. Rearrange slightly. |
| (fhandler_base::fstat_helper): Add get_io_handle as parameter to |
| get_file_attribute. |
| * security.cc (get_nt_object_attribute): Make returning an int. |
| Return -1 on error, 0 otherwise. |
| (get_file_attribute): Take an object handle as argument. Move down |
| to allow calling get_nt_object_attribute in case a non-NULL handle |
| is given. |
| * security.h (get_file_attribute): Add handle to argument list. |
| * syscalls.cc (chown_worker): Accommodate new definition of |
| get_file_attribute. |
| |
| 2004-04-07 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * path.cc (path_prefix_p): Optimize test order. |
| |
| 2004-04-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (EXTRALIBS): Add libtextreadmode.a. |
| (INSTOBJS): Add textreadmode.o. |
| * textreadmode.c: New file. |
| |
| 2004-04-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Request |
| compressed size only if the matching attributes are set. Use |
| NtQueryInformationFile instead of GetCompressedFileSize. |
| (fhandler_base::fstat_by_handle): Remove NT 3.5 cruft since |
| local.dwVolumeSerialNumber isn't used subsequently. |
| * ntdll.h: Add typedefs for FILE_COMPRESSION_INFORMATION and |
| FILE_INFORMATION_CLASS. |
| |
| 2004-04-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_raw.cc (fhandler_dev_raw::open): Actually use "options". |
| |
| 2004-04-04 Gerd Spalink <Gerd.Spalink@t-online.de> |
| |
| * fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Add implementation |
| for ioctl codes SNDCTL_DSP_CHANNELS and SNDCTL_DSP_GETCAPS. |
| |
| 2004-04-03 Christopher Faylor <cgf@bosbc.com> |
| |
| * child_info.h (child_info::cygheap_reserve_sz): Rename from |
| cygheap_alloc_sz. |
| * cygheap.cc: Rename alloc_sz to reserve_sz throughout. |
| |
| 2004-04-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_socket): Remove has_been_closed member. |
| * fhandler_socket.cc (fhandler_socket::recvfrom): Revert to |
| overlapped I/O. |
| (fhandler_socket::recvmsg): Ditto. |
| (fhandler_socket::sendto): Ditto. |
| (fhandler_socket::sendmsg): Ditto. |
| * net.cc (wsock_event::prepare): Ditto. |
| (wsock_event::wait): Ditto. Evaluate overlapped result also after |
| calling CancelIo (thanks to Patrick Samson <p_samson@yahoo.com>). |
| (wsock_event::release): Remove. |
| * wsock_event.h: Revert to overlapped I/O. |
| |
| 2004-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (wsock_event::release): Use NULL handle in call to |
| WSAEventSelect to resolve KB 168349. |
| |
| 2004-04-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::recvfrom): Rearrange loop |
| so that WSARecvFrom is always called before waiting. |
| (fhandler_socket::recvmsg): Ditto. |
| |
| 2004-04-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (wsock_event::wait): Make wsa_err an int. Don't set |
| ret to 0 if any error has happened. |
| |
| 2004-04-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::sendto): Drop out of loop if |
| has_been_closed gets set. |
| (fhandler_socket::sendmsg): Ditto. |
| * net.cc (wsock_event::wait): Don't initialize evts. Don't try to |
| evaluate network events if WSAEnumNetworkEvents fails. |
| (wsock_event::release): Save last WSA error and set it again unless |
| resetting to blocking socket fails. |
| * wsock_event.h (class wsock_event): Remove destructor. |
| |
| 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (mtinfo::initialize): Fix fatal error message. |
| |
| 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::recvfrom): Always initialize |
| ret to 0 when using in Winsock call. |
| (fhandler_socket::recvmsg): Ditto. |
| (fhandler_socket::sendto): Ditto. |
| (fhandler_socket::sendmsg): Ditto. |
| |
| 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (mtinfo_drive::get_pos): Only set partition if |
| GetTapePosition returned a non-zero partition number. |
| (mtinfo_drive::create_partitions): Reinitialize to partition 0. |
| Support TAPE_DRIVE_INITIATOR and TAPE_DRIVE_FIXED partitioning. |
| (mtinfo_drive::set_partition): Initialize new partition. |
| (mtinfo_drive::status): Readd accidentally dropped setting of mt_resid. |
| |
| * net.cc (wsock_event::prepare): Always print debug output in case |
| of error. |
| |
| 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::sendmsg): Add SIGPIPE handling. |
| |
| 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::recvfrom): Initialize res to |
| SOCKET_ERROR. Use SOCKET_ERROR instead of -1 throughout. |
| (fhandler_socket::recvmsg): Ditto. |
| (fhandler_socket::sendto): Ditto. |
| (fhandler_socket::sendmsg): Ditto. |
| * net.cc (wsock_event::prepare): Call WSASetLastError instead of |
| SetLastError. |
| (wsock_event::wait): Use SOCKET_ERROR instead of -1. |
| |
| 2004-03-30 Thomas Pfaff <tpfaff@gmx.net> |
| |
| * thread.h (pthread::init_mainthread): Add parameter forked. Set |
| forked default to false.. |
| * thread.cc (MTinterface::fixup_after_fork): Call |
| pthread::init_mainthread with forked = true. |
| (pthread::init_mainthread): Add parameter forked. Do not change thread |
| self pointer when forked. |
| |
| 2004-03-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shm.cc (shmat): If shmid is unknown, call a special variation |
| of shmget to retrieve the shared memory segment from Cygserver |
| instead of failing immediately. |
| * include/cygwin/ipc.h (IPC_KEY_IS_SHMID): New internal flag for |
| shmget when called from shmat. |
| |
| 2004-03-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_socket): Add has_been_closed member. |
| * fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize |
| has_been_closed to 0. |
| (fhandler_socket::recvfrom): Use new asynchronous I/O driven |
| wsock_event methods. |
| (fhandler_socket::recvmsg): Ditto. |
| (fhandler_socket::sendto): Ditto. |
| (fhandler_socket::sendmsg): Ditto. |
| * net.cc (wsock_event::prepare): Reimplement using asynchronous I/O. |
| (wsock_event::wait): Ditto. |
| (wsock_event::release): New method. |
| * wsock_event.h (class wsock_event): Remove ovr member. Accommodate |
| new implementation of prepare and wait methods. Add release method. |
| |
| 2004-03-29 Thomas Pfaff <tpfaff@gmx.net> |
| |
| * thread.cc (pthread::atforkprepare): Call |
| MT_INTERFACE->fixup_before_fork at the end of atforkprepare. |
| |
| 2004-03-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (wsock_event::wait): Change scope of local "len" variable. |
| |
| 2004-03-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shm.cc (shmat): Return (void *) -1 on error instead of NULL. |
| |
| 2004-03-27 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler_nodevice.cc (fhandler_nodevice::open): Assume that errno has |
| already been set if pc.error is nonzero. |
| |
| 2004-03-26 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.cc (cygheap_fixup_in_child): Improve strace output. |
| |
| 2004-03-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (errmap): Map ERROR_SHARING_VIOLATION to EBUSY, |
| ERROR_EOM_OVERFLOW and ERROR_NO_DATA_DETECTED to EIO. Add mappings |
| for ERROR_NO_MEDIA_IN_DRIVE, ERROR_DEVICE_REQUIRES_CLEANING and |
| ERROR_DEVICE_DOOR_OPEN. |
| * fhandler.h (class fhandler_dev_raw): Drop varblkop member. |
| (fhandler_dev_raw::is_eom): De-virtualize. |
| (fhandler_dev_raw::is_eof): Ditto. |
| (class fhandler_dev_tape): Drop lasterr and dp member. Add mt_mtx |
| member. Drop all private methods formerly used by ioctl. |
| (fhandler_dev_tape::is_rewind_device): Use get_minor for clarity. |
| (fhandler_dev_tape::driveno): New method. |
| (fhandler_dev_tape::drive_init): New method. |
| (fhandler_dev_tape::clear): Remove method. |
| (fhandler_dev_tape::is_eom): Ditto. |
| (fhandler_dev_tape::is_eof): Ditto. |
| (fhandler_dev_tape::write_file): Ditto. |
| (fhandler_dev_tape::read_file): Ditto. |
| (fhandler_dev_tape::_lock): New method. |
| (fhandler_dev_tape::unlock): New method. |
| (fhandler_dev_tape::raw_read): New method. |
| (fhandler_dev_tape::raw_write): New method. |
| * fhandler_raw.cc (fhandler_dev_raw::is_eom): New method. |
| (fhandler_dev_raw::is_eof): New method. |
| (fhandler_dev_raw::open): Allow setting write through option by |
| using the O_TEXT flag as ... flag. |
| (fhandler_dev_raw::writebuf): Remove usage of varblkop and other |
| tape specific code. |
| (fhandler_dev_raw::raw_read): Ditto. |
| (fhandler_dev_raw::dup): Ditto. |
| * fhandler_tape.cc: Rewrite tape operations entirely. Implement |
| new tape driver classes mtinfo, mtinfo_drive and mtinfo_part. |
| Reduce fhandler_dev_tape methods to mostly just calling appropriate |
| mtinfo_drive methods. |
| (mtinfo_init): New function adding the mtinfo shared memory area. |
| * mtinfo.h: New file, containing the definition of the new tape |
| driver classes. |
| * shared.cc: Include mtinfo.h. |
| (offsets): Add entry for mtinfo shared memory area. |
| (memory_init): Call mtinfo_init. |
| * shared_info.h (shared_locations): Add SH_MTINFO shared location. |
| * include/cygwin/mtio.h: Change and add various comments. Add GMT_xxx |
| macros for new generic flags. Add MT_ST_xxx bitfield definitions |
| for MTSETDRVBUFFER ioctl. |
| * include/cygwin/version.h: Bump API minor version number. |
| |
| 2004-03-26 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (path_conv::check): Use 'strchr' rather than 'strrchr' to |
| find end of string, for efficiency. |
| |
| 2004-03-26 Thomas Pfaff <tpfaff@gmx.net> |
| |
| * include/cygwin/_types.h: New file. |
| * include/sys/lock.h: Ditto. |
| * include/sys/stdio.h: Ditto. |
| * thread.cc: Include sys/lock.h |
| (__cygwin_lock_init): New function. |
| (__cygwin_lock_init_recursive): Ditto. |
| (__cygwin_lock_fini): Ditto. |
| (__cygwin_lock_lock): Ditto. |
| (__cygwin_lock_trylock): Ditto. |
| (__cygwin_lock_unlock): Ditto. |
| (pthread::atforkprepare): Lock file pointer before fork. |
| (pthread::atforkparent): Unlock file pointer after fork. |
| (pthread::atforkchild): Ditto. |
| |
| 2004-03-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sem.cc (semget): Fix debug string. |
| (semop): Ditto. |
| * shm.cc (fixup_shms_after_fork): Ditto. |
| (shmat): Ditto. |
| (shmdt): Ditto. |
| (shmget): Ditto. |
| |
| 2004-03-26 Christopher Faylor <cgf@redhat.com> |
| |
| * sigproc.cc (wait_sig): Make sure that SIGCHLD is handled regardless |
| of whether a signal is queued. |
| |
| 2004-03-26 Christopher Faylor <cgf@redhat.com> |
| |
| * sigproc.cc (wait_sig): Report if not trying to send signal due to |
| queued signal. |
| |
| 2004-03-25 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (normalize_posix_path): Reorganize to short circuit to DOS |
| path handling whenever a '\' is detected. |
| |
| * signal.cc (sigaction): Make strace output more informative. |
| * sigproc.cc (pending_signals::add): Just index directly into signal |
| array rather than treating the array as a heap. |
| (pending_signals::del): Ditto. |
| (wait_sig): Don't send signal if we already have a similar signal |
| queued. |
| * sigproc.h (call_signal_handler_now): Remove obsolete declaration. |
| |
| 2004-03-23 Gerd Spalink <Gerd.Spalink@t-online.de> |
| |
| * fhandler_dsp.cc (fhandler_dev_dsp::write): Remove type |
| cast from argument to audio_out_->parsewav() to make reference |
| work properly. Now .wav file headers are properly discarded. |
| |
| 2004-03-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_fs): Use created |
| handle regardless of nohandle state. Clean up afterwards. |
| |
| 2004-03-23 Gerd Spalink <Gerd.Spalink@t-online.de> |
| |
| * autoload.cc: Load eight more functions for waveIn support. |
| * fhandler.h (class fhandler_dev_dsp): Add class Audio, class Audio_in |
| and class Audio_out members and audio_in_, audio_out_ pointers so |
| that future changes are restricted to file fhandler_dsp.cc. |
| * fhandler_dsp.cc (fhandler_dev_dsp::Audio): Add this class to treat |
| things common to audio recording and playback. |
| Add more format conversions. |
| (fhandler_dev_dsp::Audio::queue): New queues for buffer management |
| to fix incomplete cleanup of buffers passed to the wave device. |
| (fhandler_dev_dsp::Audio_in): New, added class to implement audio |
| recording. |
| (fhandler_dev_dsp::Audio_out): Rework to use functionality provided |
| by fhandler_dev_dsp::Audio. Allocate memory audio buffers late, |
| just before write. |
| (fhandler_dev_dsp::Audio_out::start): Size of wave buffer allocated |
| here depends on audio rate/bits/channels. |
| (fhandler_dev_dsp::Audio_in::start): Ditto. |
| (fhandler_dev_dsp::setupwav): Replaced by following function. |
| (fhandler_dev_dsp::Audio_out::parsewav): Does not setup wave device |
| any more. Discard wave header properly. |
| (fhandler_dev_dsp::open): Add O_RDONLY and_RDWR as legal modes. |
| Protect against re-open. Activate fork_fixup. |
| (fhandler_dev_dsp::ioctl): Protect against actions when audio is |
| active. SNDCTL_DSP_GETFMTS only returns formats supported by |
| mmsystem wave API, not all supported formats. SNDCTL_DSP_GETBLKSIZE |
| result now depends on current audio format. |
| (fhandler_dev_dsp::fixup_after_fork): Call fork_fixup for the Audio |
| classes to let them duplicate the CRITICAL_SECTION. |
| |
| 2004-03-19 Pierre Humblet <pierre.humblet@ieee.org> |
| Christopher Faylor <cgf@redhat.com> |
| |
| * init.cc (munge_threadfunc): Handle all instances of search_for. |
| (prime_threads): Test threadfunc_ix[0]. |
| |
| 2004-03-21 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.cc (init_cheap): Set initial_sz to something or suffer |
| spurious output. |
| (cygheap_fixup_in_child): Set alloc_sz to passed in size to ensure that |
| children will have the right size heap. |
| (_csbrk): Make output conditional on DEBUGGING. |
| |
| 2004-03-21 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.cc (init_cheap): Conditionalize debugging code. |
| |
| 2004-03-21 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.cc (init_cheap): Add ability to specify minimal cygwin heap |
| size when debugging. |
| (_csbrk): Report error in allocation to stderr. |
| (ccalloc): Ditto. |
| * dtable.cc (dtable::find_fifo): Remove use of atoms. |
| * dtable.h (dtable::find_fifo): Ditto. |
| * fhandler.h (fhandler_fifo): Ditto. |
| * fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Ditto. |
| (fhandler_fifo::set_use): Ditto. |
| (fhandler_fifo::open_not_mine): Ditto. |
| (fhandler_fifo::open): Ditto. |
| * pinfo.cc (_pinfo::commune_recv): Ditto. |
| (_pinfo::commune_send): Ditto. |
| |
| 2004-03-19 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * dir.cc (rmdir): Reorganize error handling to reduce indentation. |
| |
| 2004-03-19 Christopher Faylor <cgf@redhat.com> |
| |
| * include/cygwin/version.h: Bump DLL minor number to 10. |
| |
| 2004-03-18 Christopher Faylor <cgf@redhat.com> |
| |
| * child_info.h (CURR_CHILD_INFO_MAGIC): Reset to new value. |
| (child_info::cygheap_alloc_sz): New field. |
| * cygheap.cc (init_cheap): Reduce size of cygwin stack until minimal |
| hit when attempting initial allocation. |
| (cygheap_setup_for_child): Use alloc_sz to create secondary memory |
| mapped entry. Store alloc_sz in cygheap_alloc_sz. |
| (cygheap_fixup_in_child): Use cygheap_alloc_sz to map parent's cygheap. |
| * cygheap.h (_CYGHEAPSIZE_SLOP): New define. |
| (CYGHEAPSIZE): Use _CYGHEAPSIZE_SLOP. |
| |
| 2004-03-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_proc.cc (format_proc_meminfo): On NT, try to figure out |
| real swap file usage by requesting SystemPagefileInformation. Use |
| GlobalMemoryStatus as fallback. |
| * ntdll.h (_SYSTEM_INFORMATION_CLASS): Add SystemPagefileInformation. |
| (struct _SYSTEM_PAGEFILE_INFORMATION): Define. |
| |
| 2004-03-17 Christopher Faylor <cgf@redhat.com> |
| |
| * pipe.cc (fhandler_pipe::dup): Fix debugging message. |
| |
| 2004-03-17 Christopher Faylor <cgf@redhat.com> |
| |
| * include/cygwin/version.h: Bump DLL minor number to 9. |
| |
| 2004-03-16 Christopher Faylor <cgf@redhat.com> |
| |
| * sigproc.cc (proc_terminate): Release sync_proc_subproc when done |
| terminating or suffer potential hangs. |
| (get_proc_lock): Reorganize debugging output slightly. |
| |
| 2004-03-15 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.cc (_cygtls::fixup_after_fork): Just manipulate the signal |
| stack if a signal occurred during the parent's fork. Otherwise leave |
| it alone. |
| |
| 2004-03-15 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (try_to_debug): Report on tid of caller. |
| |
| * sync.cc (muto::acquire): Fix some races. |
| * sync.h (muto): Expose some fields for easier debugging. |
| |
| 2004-03-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (fhandler_dev_tape::tape_get_pos): Declare with extra |
| parameter for partition number. |
| (fhandler_dev_tape::_tape_set_pos): Ditto. |
| (fhandler_dev_tape::tape_partition): New method. |
| (fhandler_dev_tape::tape_set_partition): New method. |
| * fhandler_tape.cc (fhandler_dev_tape::open): Call private methods |
| directly instead of ioctl. |
| (fhandler_dev_tape::ioctl): Use long erase on MTERASE by default. |
| Don't use absolute positioning on MTSEEK. Call tape_set_partition |
| on MTSETPART, tape_partition on MTMKPART. |
| (fhandler_dev_tape::tape_get_pos): Add partition number parameter. |
| Prefer logical position information over absolute position information. |
| Return partition number. |
| (fhandler_dev_tape::_tape_set_pos): Add partition number parameter. |
| Use in SetTapePosition. |
| (fhandler_dev_tape::tape_set_pos): Remove special TAPE_ABSOLUTE_BLOCK |
| handling. |
| (fhandler_dev_tape::tape_erase): Rewind before erasing. |
| (fhandler_dev_tape::tape_status): Rearrange slightly. Try to get a |
| MediaType even if no tape is loaded. Store active partition in |
| mt_resid as on Linux. |
| (fhandler_dev_tape::tape_partition): New method. |
| (fhandler_dev_tape::tape_set_partition): New method. |
| * include/cygwin/mtio.h: Fix copyright. Add comment to explain |
| mt_resid content. |
| * include/cygwin/version.h: Bump API minor number. |
| |
| 2004-03-14 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.cc (_cygtls::remove): Call remove_wq even when we can't |
| necessarily get the cygtls table lock. |
| * cygtls.h (_cygtls::remove_wq): Add wait argument. |
| * sigproc.cc (_cygtls::remove_wq): Honor wait argument when acquiring |
| lock. |
| (proc_terminate): Don't NULL sync_proc_subproc since other threads may |
| still try to access it. |
| |
| 2004-03-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (errmap): Map ERROR_BEGINNING_OF_MEDIA and |
| ERROR_SETMARK_DETECTED to EIO instead of ESPIPE. |
| Handle ERROR_FILEMARK_DETECTED. |
| * fhandler_tape.cc (TAPE_FUNC): Add comment that ERROR_BUS_RESET |
| has still to be handled correctly. |
| (fhandler_dev_tape::open): Accommodate fact that get.mt_dsreg |
| also contains density code. |
| (fhandler_dev_tape::ioctl): Rearrange slightly. Reset devbuf also on |
| MTNOP, MTWSM, MTSETBLK, MTSETDRVBUFFER, MTSETPART and MTMKPART. |
| (fhandler_dev_tape::tape_set_pos): Rearrange. Match behaviour to |
| the Linux tape driver. |
| (fhandler_dev_tape::tape_status): Call IOCTL_STORAGE_GET_MEDIA_TYPES_EX |
| if available. Return device type and density code in appropriate |
| mtget members. |
| * wincap.h (wincaps::has_ioctl_storage_get_media_types_ex): New element. |
| * wincap.cc: Implement above element throughout. |
| * include/cygwin/mtio.h: Add tape device types as returned by |
| IOCTL_STORAGE_GET_MEDIA_TYPES_EX. |
| (MT_TAPE_INFO): Use above type codes. |
| (struct mtget): Change mt_dsreg comment. |
| |
| 2004-03-14 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * dir.cc (rmdir): Construct real_dir with flag PC_FULL. |
| Use a loop instead of recursion to handle the current directory. |
| |
| 2004-03-14 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.cc (_cygtls::remove): Call remove_wq to ensure that wait stuff |
| is removed from proc_subproc linked list. |
| * cygtls.h (_cygtls::remove_wq): Declare. |
| * sigproc.cc (_cygtls::remove_wq): Define. |
| (proc_subproc): Label event handle appropriately. |
| * spawn.cc (spawn_guts): Return -1 when wait() fails for spawn types |
| that require waiting. |
| |
| 2004-03-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (errmap): Handle ERROR_BUS_RESET. |
| * fhandler.h (fhandler_dev_raw::write_file): New method, created |
| from former static function. |
| (fhandler_dev_raw::read_file): Ditto. |
| (reset_devbuf): New inline method. |
| (class fhandler_dev_tape): Add TAPE_GET_DRIVE_PARAMETERS |
| member `dp'. |
| (fhandler_dev_tape::write_file): New method. |
| (fhandler_dev_tape::read_file): Ditto. |
| (fhandler_dev_tape::tape_get_feature): Convert to inline method. |
| (fhandler_dev_tape::tape_error): New method, created from former |
| static function. |
| (fhandler_dev_tape::tape_get_blocksize): Remove declaration. |
| * fhandler_raw.cc (fhandler_dev_raw::write_file): New method, created |
| from former static function. |
| (fhandler_dev_raw::read_file): Ditto. |
| (fhandler_dev_raw::writebuf): Accommodate the fact that no devbuf |
| exists under variable block size condition. |
| (fhandler_dev_raw::raw_read): Ditto. Add local p pointer to simplify |
| pointer arithmetic. |
| (fhandler_dev_raw::raw_write): Always set devbufend to 0 when starting |
| with writing. Accommodate the fact that no devbuf exists under |
| variable block size condition. |
| * fhandler_tape.cc: Various formatting changes. |
| (TAPE_FUNC): New macro. Use throughout as tape function loop. |
| (get_ll): Convert into macro. |
| (IS_EOM): New macro. |
| (IS_EOF): New macro. |
| (fhandler_dev_tape::is_eom): Use IS_EOM macro. |
| (fhandler_dev_tape::is_eof): Use IS_EOF macro. |
| (fhandler_dev_tape::write_file): New method. |
| (fhandler_dev_tape::read_file): New method. |
| (fhandler_dev_tape::open): Get drive information block here once. |
| (fhandler_dev_tape::lseek): Remove unneeded duplicate code. |
| (fhandler_dev_tape::dup): Duplicate drive information block. |
| (fhandler_dev_tape::ioctl): Remove drvbuf in variable block size mode. |
| Return ERROR_INVALID_BLOCK_LENGTH instead of ERROR_MORE_DATA if |
| buffer contains data which would get lost on buffer size changing. |
| Use absolute tape positioning also if drive only supports logical |
| block positioning. |
| (fhandler_dev_tape::tape_error): New method, created from former |
| static function. |
| (fhandler_dev_tape::tape_get_pos): Allow logical block reporting. |
| Workaround tape driver bug. |
| (fhandler_dev_tape::_tape_set_pos): Reset device buffer and flags |
| after successful repositioning. |
| (fhandler_dev_tape::tape_set_pos): Allow logical block positioning. |
| Workaround tape driver bug. |
| (fhandler_dev_tape::tape_erase): Use dp instead of calling |
| GetTapeParameters. |
| (fhandler_dev_tape::tape_prepare): Ditto. |
| (fhandler_dev_tape::tape_get_blocksize): Remove. |
| (fhandler_dev_tape::tape_set_blocksize): Don't call tape_get_blocksize. |
| Error handling already done in fhandler_dev_tape::ioctl. |
| (fhandler_dev_tape::tape_status): Remove local `dp' variable. |
| Accommodate logical tape reporting. Call tape_get_feature instead |
| of accessing feature words directly. |
| (fhandler_dev_tape::tape_compression): Use dp instead of calling |
| GetTapeParameters. Fix resetting datcompression. |
| |
| 2004-03-12 Christopher Faylor <cgf@redhat.com> |
| |
| * wait.cc (wait4): Initialize pointer on entry. Avoid calling |
| call_signal_handler twice since that guarantees exiting with errno set |
| to EINTR. |
| |
| 2004-03-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (sigpacket::process): Simplify code slightly. |
| |
| 2004-03-11 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.h (waitq): Declare structure here. |
| (_cygtls::wq): Declare. |
| * cygtls.cc (_cygtls::fixup_after_fork): Clear wq.thread_ev to avoid |
| using an invalid event handle in forked process. |
| * dcrt0.cc (waitq_storage): Delete. |
| (threadstuff): Remove waitq_storage. |
| * perthread.h (per_thread_waitq): Delete. |
| (waitq_storage): Delete declaration. |
| * sigproc.cc (sigproc_init): Remove perthread waitq consideration. |
| * sigproc.h (waitq): Delete declaration. |
| * wait.cc (wait4): Use _my_tls waitq structure rather than per_thread. |
| |
| 2004-03-11 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * cygtls.h (_cygtls::newmask): Delete member. |
| (_cygtls::deltamask): New member. |
| * gendef (_sigdelayed): Replace the call to set_process_mask by a call |
| to set_process_mask_delta. |
| * exceptions.cc (handle_sigsuspend): Do not filter tempmask. Or |
| SIG_NONMASKABLE in deltamask as a flag. |
| (_cygtls::interrupt_setup): Set deltamask only. |
| (set_process_mask_delta): New function. |
| (_cygtls::call_signal_handler): Replace the first call to |
| set_process_mask by a call to set_process_mask_delta. |
| * tlsoffsets.h: Regenerate. |
| |
| 2004-03-11 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.cc (_cygtls::fixup_after_fork): Remove unneeded setting of |
| oldmask. |
| * exceptions.cc: Remove some __I386__ conditionals. |
| (handle_exceptions): Move ppid test to outside of a loop for |
| efficiency. |
| (setup_handler): Make debugging output more wordy. |
| (_cygtls::call_signal_handler): To avoid a race, use lock/unlock to |
| synchronize with signal thread and ensure that signal_arrived event has |
| actually been set. |
| * gendef (_sigfe): Use ebx for all sigstack manipulations to ensure |
| that the register is saved. Move setting of incyg to within stack lock |
| to avoid setup_handler confusion. |
| (_sigbe): Use ebx for all sigstack manipulations to ensure that the |
| register is saved. |
| (_cygtls::pop): Ditto. |
| (_cygtls::lock): Ditto. |
| (stabilize_sig_stack): Ditto. |
| (setjmp): Ditto. |
| (longjmp): Ditto. |
| |
| 2004-03-08 Jaakko Hyvatti <jaakko.hyvatti@iki.fi> |
| |
| * fhandler_serial.cc (fhandler_serial::ioctl): Implement TIOCSBRK and |
| TIOCCBRK. |
| * include/sys/termios.h: Define TIOCSBRK and TIOCCBRK. |
| |
| 2004-03-08 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (setup_handler): Avoid suspending a thread if it is in |
| a cygwin function, in an exception, spinning, or locked. |
| * gendef (_sigfe): Move incyg setting earlier. |
| (sigreturn): Set incyg flag to avoid interrupting called cygwin |
| functions. |
| (sigdelayed): Ditto. |
| (stabilize_sig_stack): Ditto. |
| |
| * sigproc.cc (proc_subproc): Don't restore process lock early in exec |
| case. |
| |
| * cygtls.h: Reorganize fields in _cygtls slightly. |
| * tlsoffsets.h: Regenerate. |
| |
| 2004-03-06 Christopher Faylor <cgf@redhat.com> |
| |
| * fork.cc (fork_parent): Save parent pid in a temporary variable since |
| child could conceivably exit before function returns, rendering the |
| child's shared memory area invalid. |
| |
| * cygtls.h (_cygtls::incyg): Declare new field. |
| (_cygtls::in_exception): Define new function. |
| * exceptions.cc (setup_handler): Remove locked flag. Use 'incyg' flag |
| and in_exception function to determine when we're in a cygwin function. |
| (_cygtls::call_signal_handler): Decrement incyg flag prior to calling a |
| handler. Increment it on return. |
| * gendef (_sigfe): Increment incyg flag. Use testl for zero testing |
| rather than orl, for consistency. |
| (_sigbe): Decrement incyg flag. Use testl for zero testing rather than |
| orl, for consistency. |
| (_cygtls::pop): Use testl for zero testing rather than orl, for |
| consistency. |
| (stabilize_sig_stack): Ditto. |
| |
| * tlsoffsets.h: Regenerate. |
| |
| 2004-03-05 Christopher Faylor <cgf@redhat.com> |
| |
| * gendef (sigdelayed): Handle return here rather than going through |
| sigbe to ensure that flags are properly restored. |
| |
| 2004-03-04 Thomas Pfaff <tpfaff@gmx.net> |
| |
| * include/pthread.h (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): New |
| define. |
| (PTHREAD_NORMAL_MUTEX_INITIALIZER_NP): Ditto. |
| (PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Ditto. |
| * thread.cc (pthread_mutex::is_good_initializer): Check for all |
| posssible initializers |
| (pthread_mutex::is_good_initializer_or_object): Ditto. |
| (pthread_mutex::is_good_initializer_or_bad_object): Ditto. |
| (verifyable_object_isvalid): Support up to three static initializers. |
| (verifyable_object_isvalid (void const *,long)): Remove. |
| (pthread_cond::is_good_initializer_or_bad_object): Remove unneeded |
| objectState var. |
| (pthread_cond::init): Condition remains unchanged when creation has |
| failed. |
| (pthread_rwlock::is_good_initializer_or_bad_object): Remove unneeded |
| objectState var. |
| (pthread_rwlock::init): Rwlock remains unchanged when creation has |
| failed. |
| (pthread_mutex::init): Remove obsolete comment. Mutex remains |
| unchanged when creation has failed. Add support for new initializers. |
| (pthread_mutex_getprioceiling): Do not create mutex, just return |
| ENOSYS. |
| (pthread_mutex_lock): Simplify. |
| (pthread_mutex_trylock): Remove unneeded local themutex. |
| (pthread_mutex_unlock): Just return EPERM if mutex is not initialized. |
| (pthread_mutex_setprioceiling): Do not create mutex, just return |
| ENOSYS. |
| * thread.h (verifyable_object_isvalid): Support up to three static |
| initializers. |
| (verifyable_object_isvalid (void const *,long)): Remove prototype. |
| (pthread_mutex::init): Add optional initializer to parameter list. |
| |
| 2004-03-03 Christopher Faylor <cgf@redhat.com> |
| |
| * gendef (sigreturn): Call stabilize_sig_stack to ensure that there are |
| no pending signals. Restore edx later. |
| (sigdelayed): Save edx earlier. |
| |
| * malloc_wrapper.cc (malloc_init): Add some more debugging output. |
| |
| 2004-03-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_raw.cc (fhandler_dev_raw::raw_read): When reading with |
| variable block size, read only one block, read directly into user |
| supplied buffer, return ENOMEM if user supplied buffer is smaller |
| than size of next block to read. Use read2 instead of bytes_to_read |
| to count number of bytes read. |
| * fhandler_tape.cc (fhandler_dev_tape::open): Add debug output. |
| |
| 2004-02-26 Brian Ford <ford@vss.fsi.com> |
| |
| * miscfuncs.cc (check_invalid_virtual_addr): Assure the last page |
| in the range is always tested. Add appropriate const. |
| * mmap.cc (mmap_record::alloc_fh): Remove unused static path_conf object. |
| |
| 2004-02-25 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (setup_handler): Signal event for any sigwaitinfo, if it |
| exists, to force signal to be handled. Zero event here to prevent |
| races. |
| * signal.cc (sigwaitinfo): Use local handle value for everything since |
| signal thread could zero event element at any time. Detect when |
| awaking due to thread not in mask and set return value and errno |
| accordingly. Don't set signal number to zero unless we've recognized |
| the signal. |
| * sigproc.cc (sigq): Rename from sigqueue throughout. |
| |
| * thread.cc (pthread::join): Handle signals received while waiting for |
| thread to terminate. |
| |
| 2004-02-25 Christopher Faylor <cgf@redhat.com> |
| |
| * cygwin.din: Export sighold, sigqueue. |
| * exceptions.cc (sighold): Define new function. |
| * signal.cc (handle_sigprocmask): Set correct errno for invalid signal. |
| Simplify debugging output. |
| (sigqueue): Define new function. |
| * include/cygwin/signal.h (sighold): Declare new function. |
| (sigqueue): Ditto. |
| * include/cygwin/version.h: Bump API minor version number. |
| * include/limits.h (TIMER_MAX): Define. |
| (_POSIX_TIMER_MAX): Ditto. |
| |
| 2004-02-25 Brian Ford <ford@vss.fsi.com>, |
| Corinna Vinschen <corinna@vinschen.de> |
| |
| * miscfuncs.cc (check_invalid_virtual_addr): New function. |
| * winsup.h (check_invalid_virtual_addr): Declare. |
| * mmap.cc (munmap): Call check_invalid_virtual_addr instead of |
| IsBadReadPtr. |
| |
| 2004-02-24 Christopher Faylor <cgf@redhat.com> |
| |
| * gendef (stabilize_sig_stack): Correctly align this pointer for call |
| to _cygtls::call_signal_handler. |
| * gentls_offsets: Output sizeof field. |
| * tlsoffsets.h: Regenerate. |
| |
| 2004-02-24 Christopher Faylor <cgf@redhat.com> |
| |
| * dcrt0.cc (_dll_crt0): Don't check sync_startup if threadfunc_ix is set. |
| |
| * external.cc (cygwin_internal): Implement CW_GET_BINMODE. |
| * include/sys/cygwin.h: Declare CW_GET_BINMODE. |
| |
| 2004-02-24 Christopher Faylor <cgf@redhat.com> |
| |
| * dcrt0.cc (_dll_crt0): Add some stern internal errors. |
| |
| 2004-02-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * thread.cc (pthread::cancelable_wait): Rearrange slightly. |
| Add do_sig_wait parameter. Wait for signal_arrived if set to true. |
| Return WAIT_SIGNALED if signal arrived. |
| (pthread_cond::wait): Accommodate change to pthread::cancelable_wait. |
| (pthread::join): Ditto. |
| (semaphore::_timedwait): Ditto. |
| (semaphore::_wait): Ditto. Change to return int to allow status |
| feedback. |
| (semaphore::wait): Return return value from semaphore::_wait. |
| * thread.h (WAIT_SIGNALED): New definition. |
| (pthread::cancelable_wait): Change declaration. Define do_sig_wait |
| as false by default to not interfere with existing calls accidentally. |
| (semaphore::_wait): Declare int. |
| |
| 2004-02-21 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (sigpacket::process): Make sure that tls is filled in |
| for SIGSTOP condition. |
| (_cygtls::call_signal_handler): Restore signal mask using saved oldmask |
| rather than current oldmask. |
| |
| 2004-02-20 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (conv_path_list): Return error condition. |
| (copy1): New function. |
| (copyenc): New function. |
| (mount_item::fnmunge): Return error condition. Use new functions to |
| copy strings. |
| (mount_item::build_win32): Ditto. |
| (mount_info::conv_to_win32_path): Return error condition. |
| (cygwin_conv_to_posix_path): Return result of path conversion. |
| (cygwin_conv_to_full_posix_path): Ditto. |
| (return_with_errno): New macro. |
| (cygwin_win32_to_posix_path_list): Use new macro to potentially set |
| errno. |
| (cygwin_posix_to_win32_path_list): Ditto. |
| * path.h (mount_item::fnmunge): Add size argument. |
| (mount_item::build_win32): Ditto. |
| |
| 2004-02-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * getopt.c: Avoid useless compiler warnings. |
| |
| 2004-02-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * getopt.c: Replace with latest vanilla(!) OpenBSD version 1.16. |
| |
| 2004-02-18 Christopher Faylor <cgf@redhat.com> |
| |
| * fork.cc (fork_child): Invert sense of test which defeated correct |
| handling in a fork from a non-main thread. |
| |
| * dcrt0.cc (initial_env): Eliminate parameter and just send DebugBreak |
| when appropriate. |
| (dll_crt0_0): Reflect parameter change to initial_env. |
| (dll_crt0_1): Don't call initial_env. |
| |
| 2004-02-18 Christopher Faylor <cgf@redhat.com> |
| |
| * gendef (stabilize_sig_stack): New function. |
| (setjmp): Import, add sig stack handling. Store sig stack info. |
| (longjmp): Call stabilize_sig_stack. Restore sig stack info. |
| * config/i386/setjmp.c: Remove. |
| |
| 2004-02-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fork.cc (fork_child): Move fixup_shms_after_fork so that |
| signal_arrived is initialized when calling it. |
| |
| 2004-02-17 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in (clean): Clean libserver, too. |
| |
| * fhandler.cc (fhandler_base::~fhandler_base): Remove path_conv cleanup. |
| * syscalls.cc (chroot): Ditto. |
| * path.cc (path_conv::~path_conv): Define new destructor. |
| (conv_path_list_buf_size): Remove explicit path_conv cleanup. |
| * path.h (path_conv::~path_conv): Declare new destructor. |
| |
| 2004-02-16 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Compile flock.o with -fomit-frame-pointer. |
| |
| 2004-02-16 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Compile dlfcn.o with -fomit-frame-pointer. |
| |
| 2004-02-16 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Compile delqueue.o with -fomit-frame-pointer. |
| |
| 2004-02-16 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * syscalls.cc (rename): Do not test the MoveFile error code |
| where MoveFileEx exists. |
| |
| 2004-02-15 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.cc (_csbrk): Report more debugging details on failing |
| condition. |
| |
| 2004-02-14 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Compile syscalls.o with -fomit-frame-pointer. |
| |
| * sigproc.cc: Eliminate unused variable. |
| |
| 2004-02-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * getopt.c: Replace with latest NetBSD version 1.16. Keep Cygwin |
| specific changes as minimal as possible. |
| |
| 2004-02-13 Christopher Faylor <cgf@redhat.com> |
| |
| * sigproc.cc (proc_subproc): Change warning back to silent debug |
| output. |
| |
| 2004-02-13 Christopher Faylor <cgf@redhat.com> |
| |
| * dcrt0.cc (alloc_stack_hard_way): Revert to previous implementation. |
| (alloc_stack): Ditto. |
| * exceptions.cc (ctrl_c_handler): Add debugging output. |
| |
| 2004-02-13 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in (clean): Remove sigfe.s. |
| (sigfe.s): Ensure that sigfe.s will be regenerated if it does not exist. |
| * dll_init.cc (dll_dllcrt0): Simplify initializing tests. |
| |
| * exceptions.cc (setup_handler): Detect when stub caller is either |
| spinning or has acquired the lock after being suspended to avoid |
| windows problems with suspending a win32 API call. |
| |
| * cygtls.h (_cygtls::spinning): Declare new element. |
| * gendef: Remove unused _siglist_index and _siglist declaration. |
| (_sigfe): Set spinning element when potentially looping, waiting for lock. |
| (_sigbe): Ditto. |
| (_cygtls::lock): Ditto. |
| (_longjmp): Ditto. |
| * tlsoffsets.h: Regenerate. |
| * pinfo.cc (_pinfo::exit): Set final exit state here. Call sigproc_terminate if |
| invoked with 'norecord'. Clear any residual _cygtls stuff. |
| * winsup.h (exit_states): Define ES_FINAL. |
| * spawn.cc (spawn_guts): Don't call proc_terminate specifically when |
| execing. Let _pinfo::exit handle that case. |
| |
| * sigproc.cc (wait_subproc): Always exit loop early when proc_loop_wait. |
| |
| * init.cc (munge_threadfunc): Eliminate unused argument. |
| (dll_entry): Reflect above change in call to munge_threadfunc. |
| |
| 2004-02-11 Christopher Faylor <cgf@redhat.com> |
| |
| * gendef (_sigbe): Zero location on pop. |
| (_cygtls::pop): Ditto. |
| |
| 2004-02-11 Christopher Faylor <cgf@redhat.com> |
| |
| * dcrt0.cc (alloc_stack_hard_way): Eliminate second argument. |
| (alloc_stack): Remove use of 'b' throughout. |
| |
| 2004-02-11 Christopher Faylor <cgf@redhat.com> |
| |
| Rename _threadinfo to _cygtls, throughout. |
| * cygtls.h (_cygtls::call_signal_handler): Rename from |
| call_signal_handler_now. |
| (_cygtls::push): Make second argument mandatory. |
| (_cygtls::fixup_after_fork): Declare new function. |
| (_cygtls::lock): Ditto. |
| * cygtls.cc (_cygtls::fixup_after_fork): Define new function. |
| * dcrt0.cc (cygwin_finished_initializing): Define as bool. |
| (alloc_stack): Use _tlstop rather than arbitrary variable in probably |
| vain attempt to avoid strange fork problem on CTRL-C. |
| (dll_crt0_0): Remove obsolete winpids::init call. |
| * dll_init.cc (dll_dllcrt0): Detect forkee condition as equivalent to |
| initializing. |
| * winsup.h (cygwin_finished_initializing): Declare as bool. |
| * exceptions.cc (handle_exceptions): Rely on |
| cygwin_finished_initializing to determine how to handle exception |
| during process startup. |
| (_cygtls::call_signal_handler): Rename from call_signal_handler_now. |
| (_cygtls::interrupt_now): Fill in second argument to push. |
| (signal_fixup_after_fork): Eliminate. |
| (setup_handler): Initialize locked to avoid potential inappropriate |
| unlock. Resume thread if it has acquired the stack lock. |
| (ctrl_c_handler): Just exit if ctrl-c is hit before cygiwn has finished |
| initializing. |
| * fork.cc (sync_with_child): Don't call abort since it can cause exit |
| deadlocks. |
| (sync_with_child): Change debugging output slightly. |
| (fork_child): Set cygwin_finished_initializing here. Call _cygtls fork |
| fixup and explicitly call sigproc_init. |
| (fork_parent): Release malloc lock on fork failure. |
| (vfork): Call signal handler via _my_tls. |
| * sigproc.cc (sig_send): Ditto. |
| * syscalls.cc (readv): Ditto. |
| * termios.cc (tcsetattr): Ditto. |
| * wait.cc (wait4): Ditto. |
| * signal.cc (nanosleep): Ditto. |
| (abort): Ditto. |
| (kill_pgrp): Avoid killing self if exiting. |
| * sync.cc (muto::acquire): Remove (temporarily?) ill-advised |
| exiting_thread check. |
| * gendef (_sigfe): Be more agressive in protecting stack pointer from |
| other access by signal thread. |
| (_cygtls::locked): Define new function. |
| (_sigbe): Ditto. |
| (_cygtls::pop): Protect edx. |
| (_cygtls::lock): Use guaranteed method to set eax to 1. |
| (longjmp): Aggressively protect signal stack. |
| * miscfuncs.cc (low_priority_sleep): Reduce "sleep time" for secs == 0. |
| * pinfo.cc (winpids::set): Counterintuitively use malloc's lock to |
| protect simultaneous access to the pids list since there are |
| pathological conditions which can cause malloc to call winpid. |
| (winpids::init): Eliminate. |
| * pinfo.h (winpids::cs): Eliminate declaration. |
| * pinfo.h (winpids::init): Eliminate definition. |
| |
| 2004-02-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (get_nt_object_attribute): Fix error handling. |
| |
| 2004-02-09 Ralf Habacker <ralf.habacker@freenet.de> |
| |
| * fhandler_socket.cc (fhandler_socket::ioctl): Add FIONREAD handling. |
| |
| 2004-02-08 Christopher Faylor <cgf@redhat.com> |
| |
| * debug.h (console_printf): Define for non-debugging condition. |
| |
| * cygtls.h (_threadinfo::lock): Remove wait argument. |
| (_threadinfo::interrupt_setup): Remove retaddr argument. |
| * exceptions.cc (_threadinfo::interrupt_setup): Ditto. |
| (_threadinfo::interrupt_now): Accommodate change to interrupt_setup |
| argument. |
| (setup_handler): Ditto. Always lock sig stack prior to determining |
| interrupt method. |
| * gendef (_sigfe): Correct thinko regarding cmpxchg. |
| (_sigbe): Ditto. |
| (_threadinfo::lock): Ditto. |
| (_threadinfo::pop): Eliminate left-over stack unlock. |
| * sigproc.cc (proc_subproc): Change debugging output to printed |
| warning. |
| |
| 2004-02-08 Christopher Faylor <cgf@redhat.com> |
| |
| * localtime.cc (localtime_r): Call tzset. |
| |
| * Makefile.in: Make version.h/cygwin.din version check a warning since |
| it is not foolproof. |
| |
| * cygheap.h (CYGHEAPSIZE): Bump size down. |
| |
| * cygtls.h (_threadinfo::stacklock): New element. |
| (_threadinfo::pop): Make regparm. |
| (_threadinfo::lock): New function. |
| (_threadinfo::unlock): New function. |
| * cygtls.cc (_threadinfo::push): Wait for a lock on the stack before |
| performing the operation. |
| (_threadinfo::pop): Move to another file. |
| * cygwin.din: More SIGFE changes. |
| * exceptions.cc (try_to_debug): Always display messages on console. |
| (handle_exceptions): Unwind stack only when actually about to call |
| sig_send. |
| (setup_handler): Lock stack prior to performing any operations. |
| * gendef (_sigfe): Ditto. |
| (_sigbe): Ditto. |
| (_threadinfo::pop): Ditto. Move here. |
| * gen_tlsoffsets: Generate positive offsets. |
| * tlsoffsets.h: Regenerate. |
| |
| 2004-02-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygserver.h (CYGWIN_SERVER_VERSION_API): Bump. |
| * cygserver_ipc.h (struct proc): Add signal_arrived member. |
| (ipc_set_proc_info): Inititalize blk.signal_arrived. |
| |
| 2004-02-06 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * uinfo.cc (cygheap_user::init): Use sec_user_nih to build a |
| security descriptor. Set both the process and the default DACLs. |
| * fork.cc (fork_parent): Use sec_none_nih security attributes. |
| * spawn.cc (spawn_guts): Ditto. |
| |
| 2004-02-05 Christopher Faylor <cgf@redhat.com> |
| |
| * cygwin.din: Make many more functions SIGFE. |
| * include/cygwin/version.h (CYGWIN_VERSION_SHARED_DATA): Bump. |
| |
| 2004-02-05 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * security.h (SID): New macro. |
| (well_known_*_sid): Change type to cygpsid. |
| (cygsid::init): Delete declaration. |
| * sec_helper.cc (well_known_*_sid): Define using above SID macro. |
| (cygsid::init): Delete. |
| * dcrt0.cc (dll_crt0_0): Do not call cygsid::init. |
| * security.cc (get_user_local_groups): Change the second argument type |
| to cygpsid. |
| |
| 2004-02-03 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.h (_local_storage::signamebuf): Increase size to prevent |
| overflow on really odd values. |
| * tlsoffsets.h: Regenerate. |
| |
| 2004-02-03 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in (DLL_OFILES): Add strsig.o. |
| * cygtls.h (_local_storage::signamebuf): New element. |
| * sysconf.cc (sysconf): Implement _SC_RTSIG_MAX. |
| * tlsoffsets.h: Regenerate. |
| * include/limits.h (_POSIX_RTSIG_MAX): New define. |
| (RTSIG_MAX): Ditto. |
| * include/cygwin/signal.h (SIGRTMIN): New define. |
| (SIGRTMAX): Ditto. |
| (NSIG): Bump. |
| * strsig.cc: New file. |
| |
| 2004-02-03 Jason Tishler <jason@tishler.net> |
| |
| * window.cc (Winmain): Show windows error code in error output when |
| RegisterClass fails. |
| |
| 2004-02-02 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h (*::fixup_after_exec): Eliminate unused handle argument. |
| * fhandler.h (dtable::fixup_after_exec): Eliminate unused handle |
| argument. |
| * dcrt0.cc (dll_crt0_1): Reflect elimination of unused handle argument |
| to fixup_after_exec. |
| * dtable.cc (dtable::fixup_after_exec): Ditto. |
| * fhandler_console.cc (fhandler_console::fixup_after_exec): Ditto. |
| * fhandler_dsp.cc (fhandler_dsp::fixup_after_exec): Ditto. |
| * fhandler_raw.cc (fhandler_raw::fixup_after_exec): Ditto. |
| * fhandler_socket.cc (fhandler_socket::fixup_after_exec): Ditto. |
| * fhandler_virtual.cc (fhandler_virtual::fixup_after_exec): Ditto. |
| * pipe.cc (fhandler_pipe::fixup_after_exec): Ditto. |
| |
| 2004-02-02 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * spawn.cc (spawn_guts): Do not set ciresrv.parent. |
| * child_info.h (child_info_spawn::~child_info_spawn): Do not close |
| parent. Update CURR_CHILD_INFO_MAGIC. |
| * dcrt0.cc (dll_crt0_0): Do not close spawn_info->parent. Pass NULL to |
| cygheap->fdtab.fixup_after_exec(). |
| |
| 2004-02-02 Christopher Faylor <cgf@redhat.com> |
| |
| Throughout, change name from set_inheritance to set_no_inheritance to |
| better reflect input arguments of this function. |
| |
| * cygheap.h (CYGHEAPSIZE): Increase size of cygheap to something closer |
| to the 21st century. |
| |
| 2004-02-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygerrno.h (set_errno): Replace semicolon with comma in non-DEBUGGING |
| version to avoid compile time error. |
| |
| 2004-02-01 Christopher Faylor <cgf@redhat.com> |
| |
| * cygerrno.h (set_errno): Set global errno whenever setting thread |
| specific version. |
| * debug.cc (__set_errno): Ditto. |
| |
| * exceptions.cc (handle_sigsuspend): Remove spurious |
| sig_dispatch_pending call. |
| (set_signal_mask): When there seem to be pending signals to dispatch, |
| tell signal_dispatch_pending/sig_send not to specifically call any |
| handlers. |
| * sigproc.h (sig_dispatch_pending): Change declaration to void. |
| * sigproc.cc (sig_dispatch_pending): Change definition to void. Take |
| an argument to determine whether to tell sig_send to wait for handler |
| to be called. |
| * sigproc.cc (sig_send): Don't call signal handler when sig == |
| __SIGFLUSHFAST. |
| (wait_sig): Honor __SIGFLUSHFAST. Guard against sigpacket::process |
| nuking si_signo. |
| * sigproc.h (__SIGFLUSHFAST): Define new special signal. |
| (sig_dispatch_pending): Change declaration to void. Take optional |
| boolean argument. |
| |
| * fork.cc (vfork): Add debugging output. |
| |
| 2004-01-26 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (sig_handle_tty_stop): Avoid races by waiting for both |
| signal_arrived and for sigCONT. |
| (sigpacket::process): Enforce sending of both signal_arrived and |
| sigCONT, where appropriate. |
| * gendef (sigreturn): Save tls pointer in ebx so that it can jump into |
| sigdelayed and use the same register. |
| |
| 2004-01-26 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.cc (_threadinfo::init_thread): Add more local reent stdio |
| initialization. |
| * dcrt0.cc (initial_env): Can it really be true that XP doesn't allow |
| attaching a debugger during DLL attach? Add temporary workaround. |
| (dll_crt0_0): Ensure that _impure_ptr stdio is initialized before any |
| threads. |
| (dll_crt0_1): Move _impure_ptr initialization to dll_crt0_0. |
| * exceptions.cc (try_to_debug): Reinstate old method for looping while |
| debugging. |
| * syscalls.cc (_cygwin_istext_for_stdio): Regularize debugging output. |
| Remove hopefully extraneous check. |
| (setmode_helper): Add debugging output for improbable case. Use |
| "binary" rather "raw" for consistency. |
| |
| 2004-01-25 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.cc (fhandler_base::fhaccess): Avoid always setting errno to |
| EACCESS when return value is < 0. Rely on errno being set properly. |
| |
| 2004-01-25 Christopher Faylor <cgf@redhat.com> |
| |
| * sigproc.cc (proc_subproc): Don't protect *child's* handle. |
| |
| 2004-01-24 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h (fhandler_base::fhaccess): Return int for compatibility |
| with access. |
| * fhandler.cc (fhandler_base::fhaccess): Return int. Use consistent |
| variable name for exit value. Exit at bottom, printing debugging |
| information, like other cygwin functions. |
| |
| 2004-01-23 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.cc (init_cygheap::close_ctty): Protect YA vforkism. |
| * fhandler.h (fhandler_base::has_acls): Make pass through for path_conv |
| method. |
| (fhandler_base::isremote): Ditto. |
| (fhandler_base::is_fs_special): Ditto. |
| (fhandler_base::has_attribute): Ditto. Define new function. |
| (fhandler_base::fhaccess): Declare new function based on access_worker. |
| (fhandler_base::set_has_acls): Eliminate obsolete function. |
| (fhandler_base::set_isremote): Ditto. |
| * fhandler.cc (fhandler_base::fhaccess): Move from syscalls.cc and into |
| fhandler_base class. Use fhandler methods to access data rather than |
| path_conv stuff. |
| (fhandler_base::device_access_denied): Use fhaccess method. |
| * fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto. |
| (fhandler_base::open_fs): Remove calls to obsolete functions. |
| * fhandler_virtual.cc (fhandler_virtual::open): Ditto. |
| * winsup.h (access_worker): Remove obsolete access_worker declaration. |
| *syscalls.cc (access_worker): Move function to fhandler.cc. |
| (access): Use fhaccess method. |
| |
| * pinfo.cc (_pinfo::set_ctty): Clarify debugging output. |
| * sigproc.cc (sig_dispatch_pending): Ditto. |
| * syscalls.cc (setsid): Perform minor rearrangement. |
| |
| 2004-01-23 Pierre Humblet <pierre.humblet@ieee.org> |
| |
| * fhandler_socket.cc (fhandler_socket::create_secret_event): Avoid |
| creating multiple handles. Always allow event inheritance but set the |
| handle inheritance appropriately. Improve error handling. |
| (fhandler_socket::check_peer_secret_event): Improve error handling. |
| (fhandler_socket::close_secret_event): Simply call CloseHandle. |
| (fhandler_socket::set_close_on_exec): Set secret event inheritance. |
| |
| 2004-01-23 Christopher Faylor <cgf@redhat.com> |
| |
| * configure.in: Remove NEWVFORK default. |
| * configure: Regenerate. |
| * dcrt0.cc: Conditionalize vfork stuff throughout. |
| * dtable.cc: Ditto. |
| * perthread.h: Ditto. |
| * pipe.cc (fhandler_pipe::close): Ditto. |
| * spawn.cc (spawnve): Ditto. |
| * syscalls.cc (setsid): Ditto. |
| * exceptions.cc (sigpacket::process): Use macro to refer to vfork pid. |
| |
| * debug.cc (verify_handle): Define new function. |
| * debug.h (VerifyHandle): Define new macro. |
| (verify_handle): Declare new function |
| * fhandler.cc (fhandler_base::dup): Verify that dup'ed handle is not |
| supposed to be in use. |
| (fhandler_base::set_inheritance): Ditto. |
| (fhandler_base::fork_fixup): Ditto. |
| * fhandler_socket.cc (fhandler_socket::dup): Ditto. |
| * fhandler_tty.cc (fhandler_tty_slave::open): Ditto. |
| * net.cc (set_socket_inheritance): Ditto. |
| * pinfo.cc (pinfo_fixup_after_exec): Ditto. |
| * sigproc.cc (proc_subproc): Ditto. |
| (sig_send): Ditto. |
| * spawn.cc (spawn_guts): Ditto. |
| * thread.cc (pthread::init_mainthread): Ditto. |
| * pipe.cc (fhandler_pipe::close): Close read_state with |
| ForceCloseHandle since it was protected. |
| (fhandler_pipe::fixup_after_exec): Protect read_state handle. |
| (fhandler_pipe::dup): Correctly close open handles on error condition. |
| Verify that dup'ed handle is not supposed to be in use. |
| (fhandler_pipe::create): Protect read_state. |
| |
| 2004-01-23 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (sig_handle_tty_stop): Fix boneheaded mistake by using |
| correct check for parent state rather than inverted check mistakenly |
| introduced on 2003-09-15. |
| |
| 2004-01-22 Brian Ford <ford@vss.fsi.com> |
| |
| * fhandler_serial.cc (fhandler_serial::raw_write): Prevent a deadlock |
| when the input buffer overflows. |
| (fhandler_serial::raw_read): Correct to print the actual error and only |
| call PurgeComm when necessary. |
| |
| 2004-01-22 Christopher Faylor <cgf@redhat.com> |
| |
| * dcrt0.cc (reent_data): Make global. |
| * cygwin.din: Reexport reent_data. |
| |
| 2004-01-22 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.cc (_threadinfo::remove): Don't assume that we are removing |
| _my_tls. |
| * exceptions.cc (setup_handler): Improve debugging output. |
| (call_signal_handler_now): Remove ill-advised debugger call. |
| * sigproc.cc (sigcomplete_main): Delete. |
| (sig_send): Honor FIXME and avoid using main thread's completion event |
| for everything or suffer races. |
| (pending_signals::add): Default stored mask to current process mask |
| rather than mask at time of signal send. |
| (wait_sig): Add debugging output. |
| * sigproc.h (sigpacket::mask_storage): Delete. |
| |
| 2004-01-22 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.cc (fhandler_base::open): Revert isfs change. |
| |
| 2004-01-21 Christopher Faylor <cgf@redhat.com> |
| |
| * devices.in: Change raw com device to more correct form. |
| |
| 2004-01-21 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.cc (fhandler_base::open): Use major numbers rather than |
| device numbers to control special behavior for devices which take |
| units. |
| * fhandler_raw.cc (fhandler_dev_raw::writebuf): Ditto. |
| (fhandler_dev_raw::fstat): Ditto. |
| (fhandler_dev_raw::open): Ditto. |
| (fhandler_dev_raw::ioctl): Ditto. |
| |
| 2004-01-21 Nicholas Wourms <nwourms@netscape.net> |
| |
| * signal.cc (sigaction): Fix if-statement typo. |
| |
| 2004-01-21 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.cc (handle_threadlist_exception): Change logic, improve |
| debugging output. |
| |
| 2004-01-21 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler_tty.cc (fhandler_tty::ioctl): Semi-revert 2003-09-26 change |
| for TIOCSWINSZ. It is not an error for ioctl_request_event to be |
| missing. |
| |
| 2004-01-20 Christopher Faylor <cgf@redhat.com> |
| |
| * sigproc.cc (pending_signals::save): New function. |
| (pending_signals::restore): Ditto. |
| (sig_clear): Save/restore current queue pointer. |
| (wait_sig): Delete signals marked as such. |
| * sigproc.h (__SIGDELETE): New enum. |
| |
| 2004-01-20 Christopher Faylor <cgf@redhat.com> |
| |
| * include/cygwin/version.h: Bump DLL minor number to 8. |
| |
| * cygmalloc.h: Make more concessions to attempts to get debugging |
| malloc working. |
| * debug.h: Ditto. |
| * dlmalloc.cc: Ditto. |
| * dlmalloc.h: Ditto. |
| * malloc_wrapper.cc: Ditto. |
| |
| * perthread.h (perthread::create): Use calloc to ensure zeroed memory. |
| |
| 2004-01-20 Christopher Faylor <cgf@redhat.com> |
| |
| * sec_acl.cc (setacl): Make sure sd_ret is large enough. |
| |
| 2004-01-19 Christopher Faylor <cgf@redhat.com> |
| |
| * sigproc.cc (sigproc_terminate): Don't close sendsig handle when |
| execing since we're not closing what we think we're closing. |
| (sig_send): Improve debugging when exiting due to no_signals_available. |
| |
| * wincap.h (wincaps::cant_debug_dll_entry): New element. |
| * wincap.cc: Implement above element throughout. |
| * dcrt0.cc (initial_env): Accommodate changes necessary to allow |
| initial debugging for systems which do not allow debugging in |
| dll_entry. |
| (dll_crt0_0): Add initial_env call back here. |
| |
| * Makefile.in (install-man): Use mandir as target for installation. |
| |
| 2004-01-19 Christopher Faylor <cgf@redhat.com> |
| |
| * include/cygwin/version.h: Bump DLL minor number to 7 (should have been |
| done earlier). |
| |
| 2004-01-19 Christopher Faylor <cgf@redhat.com> |
| |
| * cygwin/include/signal.h: Add copyright notice. |
| |
| * cygwin.din: Make clock SIGFE. Add clock_gettime, sigwaitinfo, |
| timer_create, timer_delete, timer_settime. |
| * include/cygwin/version.h: Reflect above additions. |
| * fork.cc (fork_child): Call fixup_timers_after_fork. |
| * signal.cc (sigwait): Remove unused variable. |
| * timer.cc: New file. |
| (clock_gettime): Define new function. |
| (timer_tracker): Define new struct used by timer functions. |
| (timer_tracker::timer_tracker): New function. |
| (to_us): New function. |
| (timer_thread): New function. |
| (timer_tracker::settime): New function. |
| (timer_create): New function. |
| (timer_settime): New function. |
| (timer_delete): New function. |
| (fixup_timers_after_fork): New function. |
| * cygthread.cc: Bump thread count. |
| |
| 2004-01-17 Christopher Faylor <cgf@redhat.com> |
| |
| * signal.cc (sigwaitinfo): Define new function. |
| (sigwait): Redefine based on sigwaitinfo. |
| * include/cygwin/signal.h (sigwaitinfo): Declare. |
| (sigwait): Ditto. |
| |
| 2004-01-17 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::vfork_parent_restore): Avoid double close of ctty |
| when ctty == ctty_on_hold. |
| |
| 2004-01-16 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.h (_threadinfo::threadkill): New element. |
| (_threadinfo::set_threadkill): Declare new function. |
| (_threadinfo::reset_threadkill): Declare new function. |
| * dcrt0.cc (dcrt0_1): Call here so that it will be possible to attach |
| to running process with #(*& Windows Me/9x. |
| (initial_env): Try to initialize strace if uninitialized. |
| * gendef: Don't zero signal if threadkill is set since that will happen |
| in the called function. |
| * signal.cc (sigwait): Ensure cleanup in error conditions. |
| * sigproc.cc (sig_send): Clear packet mask storage. |
| (wait_subproc): Fill in child exit code in siginfo_t structure. |
| * thread.cc (pthread_kill): Set threadkill flag. |
| * tlsoffsets.h: Regenerate. |
| |
| 2004-01-16 Christopher Faylor <cgf@redhat.com> |
| |
| Throughout, use siginfo_t to fill out all signal information for |
| "kernel" signals. |
| * cygtls.h (_threadinfo::set_siginfo): Declare new function. |
| * cygtls.cc (_threadinfo::set_siginfo): Define new function. |
| * dcrt0.cc (do_exit): Accommodate siginfo_t considerations. |
| * exceptions.cc (handle_exceptions): Ditto. |
| (sig_handle_tty_stop): Ditto. |
| (ctrl_c_handler): Use killsys() to send signal. |
| (sigpacket::process): Rename from sig_handle. Use siginfo_t field from |
| sigpacket for everything. |
| (tty_min::kill_pgrp): Accommodate siginfo_t considerations. |
| (fhandler_termios::bg_check): Ditto. |
| * fhandler_tty.cc (fhandler_tty_slave::ioctl): Use killsys() to send signal. |
| * signal.cc (kill_worker): Rewrite to use siginfo_t second argument. |
| (kill_pgrp): Ditto. |
| (kill0): Define new function pulled from kill(). |
| (kill): Rewrite as frontend to kill0. |
| (killsys): Define new function. |
| * sigproc.cc (sigelem): Eliminate. |
| (sigpacket): Move to sigproc.h. Subsume sigelem. |
| (pending_signals): Use sigpacket rather than sigelem for everything. |
| (sig_clear): Ditto. |
| (wait_sig): Ditto. |
| (sig_send): Rewrite to use siginfo_t argument. |
| (sig_send): New function wratpper to sig_send with siginfo_t argument. |
| (wait_subproc): Accommodate siginfo_t considerations. |
| * thread.cc (pthread_kill): Ditto. |
| * sigproc.h (sigpacket): Move here. |
| (sigpacket::process): Declare "new" function. |
| (sig_handle): Eliminate declaration. |
| (sig_send): Declare with new paramaters. |
| (killsys): Declare new function. |
| (kill_pgrp): Declare. |
| * winsup.h: Move some signal-specific stuff to sigproc.h. |
| * include/cygwin/signal.h: Tweak some siginfo_t stuff. |
| |
| 2004-01-16 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler_console.cc (fhandler_console::close): Remove obsolete test |
| for vfork_cleanup. |
| * pipe.cc (fhandler_pipe::close): Add comment. |
| |
| 2004-01-16 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.cc (init_cygheap::close_ctty): Don't NULL ctty if it is still |
| active. |
| |
| 2004-01-16 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::vfork_parent_restore): Store ctty_on_hold prior to |
| calling close_all_files since it will be zeroed. |
| |
| 2004-01-15 Christopher Faylor <cgf@redhat.com> |
| |
| * gentls_offsets: Reinstate unlink of temp files. |
| |
| 2004-01-14 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler_console.cc (fhandler_console::close): Fix debugging output. |
| (fhandler_console::fixup_after_fork): Decrement open_fhs prior to call |
| to fhandler_console::open since this would cause incrementing too much |
| incrementing in child processes. (Probably needs to be handled more |
| elegantly someday) |
| (fhandler_console::fixup_after_exec): Ditto. |
| |
| 2004-01-14 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.h (_threadinfo::call): Remove regparm declaration to work |
| around compiler bug. |
| |
| 2004-01-13 Christopher Faylor <cgf@redhat.com> |
| |
| * autoload.cc (TryEnterCriticalSection): Remove. |
| * dcrt0.cc (dll_crt0_0): Delete inappropriate setting of |
| _my_tls.stackptr to NULL since it has really bad consequences. Make |
| 'si' an automatic variable. |
| |
| 2004-01-13 Christopher Faylor <cgf@redhat.com> |
| |
| * cygtls.cc (_threadinfo::init_thread): Correct thinko which caused |
| thread list to be allocated every time. |
| * cygtls.h (CYGTLS_PADSIZE): Define as const int. |
| * sync.h: Make multiple inclusion safe. |
| (muto::next): Eliminate. |
| (muto::exiting_thread): New variable. |
| (muto::set_exiting_thread): New function. |
| (new_muto): Change to use different section for mutos since c++ give |
| inexplicable warning in some cases otherwise. |
| (new_muto1): Ditto. |
| * dcrt0.cc (do_exit): Call muto::set_exiting_thread here. |
| * sync.cc (muto_start): Eliminate. |
| (muto::acquire): Always give exiting thread a lock. Never give thread |
| a lock if exiting. |
| (muto::release): Ditto for releasing. |
| * dtable.cc (dtable::init_lock): Unline function and define here. |
| * dtable.h (lock_cs): Define as a muto since critical sections seem to |
| work oddly on Windows Me. |
| (lock): Accommodate switch to muto. |
| (unlock): Ditto. |
| * exceptions.cc (setup_handler): Don't worry about acquiring mutos |
| since that hasn't mattered for a long time. |
| (signal_exit): Ditto: muto stuff will be handled automatically on exit |
| now. |
| |
| 2004-01-12 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in (DLL_IMPORTS): Link advapi32 to ensure proper DLL |
| initialization. |
| * autoload.cc (RegCloseKey): Arbitrarily choose this function as a |
| "seed" to pull the advapi32 link library in. So, comment out the |
| autoloading. |
| * cygtls.cc (_threadinfo::init_thread): Just clear CYGTLS_PADSIZE. |
| (_threadinfo::remove): Add debugging. |
| (_threadinfo::find_tls): Ditto. |
| * cygtls.h (_threadinfo::padding): Make zero length (for now?). |
| * dcrt0.cc (dll_crt0_0): Move more initialization here from dll_crt0_1. |
| (dll_crt0_1): See above. |
| * dtable.h (dtable::lock): Remove commented out critical section |
| locking. |
| * dtable.h (dtable::init_lock): Remove commented out critical section |
| locking. |
| * dtable.h (dtable::unlock): Remove commented out critical section |
| locking. |
| * exceptions.cc (interruptible): bool'ize. |
| * init.cc (threadfunc_fe): Revert to storing threadfunc at stack |
| bottom. |
| (munge_threadfunc): Ditto. Avoid adding overhead to |
| calibration_thread. |
| (prime_threads): Don't initialize tls stuff. |
| (dll_entry): Make minor change to initialization order. |
| * tlsoffsets.h: Regenerate. |
| |
| * sigproc.cc (wait_sig): Add sanity check for end of process thread |
| exit. |
| |
| * select.h: Make minor formatting change. |
| |
| 2004-01-10 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Add still more -fomit-frame-pointer functions. |
| * dtable.h (dtable::lock): New function. |
| (dtable::unlock): New function. |
| (dtable::init_lock): New function. |
| * cygheap.h (HEAP_TLS): Declare new enum value. |
| (init_cygheap::threadlist): Declare new array. |
| (init_cygheap::sthreads): Declare new variable. |
| (cygheap_fdmanip::~cygheap_fdmanip): Use new dtable lock/unlock |
| functions. |
| (cygheap_fdnew::cygheap_fdnew): Ditto. |
| (cygheap_fdget::cygheap_fdget): Ditto. |
| * dtable.cc (dtable_init): Initialize fdtab critical section. |
| (dtable::fixup_after_fork): Ditto. |
| (dtable::fixup_after_exec): Ditto. |
| (dtable::dup2): Use lock/unlock calls to protect access to fdtab. |
| (dtable::find_fifo): Ditto. |
| (dtable::fixup_before_fork): Ditto. |
| (dtable::fixup_before_exec): Ditto. |
| (dtable::set_file_pointers_for_exec): Ditto. |
| (dtable::vfork_child_dup): Ditto. |
| (dtable::vfork_parent_restore): Ditto. |
| * syscalls.cc (close_all_files): Ditto. |
| * sync.h (muto::acquired): Declare new function. |
| (new_muto1): Declare new macro used to specify name of muto storage. |
| * sync.cc (muto::acquired): Define new function. |
| |
| * cygthread.cc (cygthread::stub): Remove signal chain removal call |
| since it is handled during initialization now. |
| * cygthread.cc (cygthread::simplestub): Remove signal chain removal |
| call since it is handled during initialization now. |
| * cygtls.cc (sentry): New class used for locking. Use throughout. |
| (_threadinfo::reset_exception): Don't pop stack. |
| (_threadinfo::find_tls): Move from exceptions.cc. |
| (_threadinfo::init_thread): Initialize array of threads rather than |
| linked list. Take second argument indicating thread function for this |
| thread. |
| (_threadinfo::remove): Search thread array rather than linked list. |
| Use sentry to lock. Only unlock if we got the lock. |
| (_threadinfo::find_tls): Ditto for first two. |
| (handle_threadlist_exception): Handle exceptions when manipulating the |
| thread list in case of premature thread termination. |
| (_threadinfo::init_threadlist_exceptions): Ditto. |
| * cygtls.h (TLS_STACK_SIZE): Decrease size. |
| (_threadinfo::padding): Add element to avoid overwriting lower part of |
| stack. |
| (_threadinfo::remove): Add a "wait" argument to control how long we |
| wait for a lock before removing. |
| * exceptions.cc (init_exception_handler): Make global. Take argument |
| to control exception handler being set. |
| (ctrl_c_handler): Wait forever when removing self from signal chain. |
| (_threadinfo::find_tls): Move to cygtls.cc. |
| (sig_handle): Reorganize detection for thread-specific signals. |
| * heap.cc (heap_init): Rework slightly. Make fatal error more verbose. |
| Remove malloc initialization since it can't happen during dll attach. |
| * init.cc (search_for): Move address to search for on stack here. |
| (threadfunc_ix): Ditto for stack offset. Make shared so that stack |
| walk potentially only has to be done once when cygwin processes are |
| running. |
| (threadfunc_fe): Use standard tls to store thread function (may change |
| back later). |
| (calibration_thread): New function. Potentially called to find |
| threadfunc_ix. |
| (munge_threadfunc): Search for "search_for" value on stack. Output |
| warning when thread func not found on stack. Use standard tls to store |
| thread function. |
| (prime_threads): New function. Called to prime thread front end. |
| (dll_entry): Call dll_crt0_0 here when DLL_PROCESS_ATTACH. Call |
| prime_threads here. Try to remove thread from signal list here. |
| * sigproc.cc (wait_sig): Initialize threadlist exception stuff here. |
| * thread.cc (pthread::exit): Pass argument to signal list remove |
| function. |
| * thread.h: Remove obsolete *ResourceLock defines. |
| |
| * tlsoffsets.h: Regenerate. |
| |
| * winsup.h (spf): Define temporary debug macro to be deleted later. |
| |
| * dcrt0.cc (dll_crt0_0): New function, called during DLL |
| initialization. Mainly consists of code pulled from dll_crt0_1. |
| (dll_crt0_1): See above. |
| (_dll_crt0): Wait for initial calibration thread to complete, if |
| appropriate. Move some stuff to dll_crt0_0. |
| (initialize_main_tls): Accommodate argument change to |
| _thread_info::init_thread. |
| * fork.cc (fork_child): Ditto. |
| (sync_with_child): Fix debug message. |
| * external.cc (cygwin_internal): Remove special considerations for |
| uninitialized dll since initialization happens during dll attach now. |
| |
| * dlfcn.cc (dlopen): Remove obsolete *ResourceLock calls. |
| (dlclose): Ditto. |
| |
| 2004-01-05 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.h (init_cygheap::close_ctty): Declare new function. |
| * cygheap.cc (init_cygheap::close_ctty): Define new function. |
| * syscalls.cc (close_all_files): Use close_ctty. |
| (setsid): Ditto. |
| |
| * cygthread.cc (cygthread::stub): Remove exception initialization. |
| * cygthread.cc (cygthread::stub): Remove exception initialization. |
| (cygthread::simplestub): Ditto. |
| * thread.cc (pthread::thread_init_wrapper): Ditto. |
| * cygtls.cc (_last_thread): Make static. |
| (_threadinfo::call2): Initialize exception handler here. |
| (_threadinfo::find_tls): Move here. |
| * exceptions.cc (_threadinfo::find_tls): Move. |
| |
| * dcrt0.cc (__api_fatal): Add prefix info to message here rather than |
| including it in every call to function. |
| * winsup.h (api_fatal): Accommodate above change. |
| * debug.cc (add_handle): Don't do anything if cygheap not around. |
| (mark_closed): Ditto. |
| |
| * dll_init.cc (dll_list::detach): Fix debug output. |
| * fork.cc (sync_with_child): Ditto. |
| (vfork): Improve debug output. |
| * heap.cc (heap_init): Ditto. |
| |
| * exceptions.cc (try_to_debug): Clarify message when debugger attaches. |
| |
| 2004-01-03 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (_threadinfo::interrupt_now): Avoid double call to |
| sigdelayed. |
| * pinfo.cc (_pinfo::commune_send): Avoid inexplicable test which caused |
| most pids to be shown as "<defunct>" on Win9x. |
| |
| 2004-01-02 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.h (init_cygheap): Play more vfork shell games and move |
| ctty_on_hold and open_fhs_on_hold (back) here. |
| * dcrt0.cc (_dll_crt0): Just set impure_ptr_ptr here and let later |
| initialization deal with tls. |
| * dtable.cc (dtable::vfork_child_fixup): Move ctty considerations here. |
| (dtable:vfork_parent_restore): And here. |
| * fork.cc (vfork): Reflect change to ctty handling. |
| * perthread.h (vfork_save::fhctty): Eliminate. |
| |
| * cygwin.din: Make more exports NOSIGFE that will never be interrupted |
| by a signal. |
| |
| * init.cc (dll_entry): Set stackptr to NULL to catch problems earlier. |