2005-09-26 22:58:16 +08:00
|
|
|
2005-09-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* exceptions.cc (_cygtls::call_signal_handler): Minor cleanup.
|
|
|
|
|
2005-09-26 22:55:40 +08:00
|
|
|
2005-09-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_dev_raw): Add drive information members
|
|
|
|
drive_size, current_position and bytes_per_sector.
|
|
|
|
(fhandler_dev_floppy::get_drive_info): Declare.
|
|
|
|
* fhandler_floppy.cc (fhandler_dev_floppy::is_eom): Define ERROR_SEEK
|
|
|
|
and ERROR_SECTOR_NOT_FOUND as end-of-medium conditions.
|
|
|
|
(fhandler_dev_floppy::get_drive_info): New method to have one function
|
|
|
|
retrieving drive info.
|
|
|
|
(fhandler_dev_floppy::open): Call get_drive_info to get drive
|
|
|
|
information right from the start.
|
|
|
|
(fhandler_dev_floppy::lseek): Use and set drive information members.
|
|
|
|
Especially keep track of current_position.
|
|
|
|
(fhandler_dev_floppy::ioctl): Ditto.
|
|
|
|
* fhandler_raw.cc (fhandler_dev_raw::write_file): Keep track of
|
|
|
|
current_position.
|
|
|
|
(fhandler_dev_raw::read_file): Ditto.
|
|
|
|
(fhandler_dev_raw::raw_read): Never try to read beyond end-of-medium.
|
|
|
|
(fhandler_dev_raw::dup): Handle new drive information members.
|
|
|
|
|
2005-09-26 22:51:48 +08:00
|
|
|
2005-09-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* exceptions.cc (handle_exceptions): Just si_code to SI_KERNEL first
|
|
|
|
and let it be overridden.
|
|
|
|
|
|
|
|
2005-09-26 Yitzchak Scott-Thoennes <sthoenna@efn.org>
|
|
|
|
|
|
|
|
* exceptions.cc (_cygtls::call_signal_handler): Call signal handler
|
|
|
|
with extra siginfo_t * and void * parameters when SA_SIGINFO flag is
|
|
|
|
set.
|
|
|
|
* signal.cc (signal): Clear SA_SIGINFO flag.
|
|
|
|
(sigqueue): Fix incorrect setting of si_code.
|
|
|
|
* sigproc.cc (signal_fixup_after_exec): Clear SA_SIGINFO flag when
|
|
|
|
setting handler to SIG_DFL.
|
|
|
|
|
2005-09-26 21:23:47 +08:00
|
|
|
2005-09-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
2005-09-26 21:47:27 +08:00
|
|
|
* pinfo.cc (proc_waiter): Properly fill out si_code as according to SUSv3.
|
|
|
|
|
|
|
|
2005-09-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* exceptions.cc (handle_exceptions): Properly fill out si_code as
|
|
|
|
according to SUSv3.
|
2005-09-26 21:23:47 +08:00
|
|
|
|
2005-09-26 09:27:36 +08:00
|
|
|
2005-09-25 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (wait_sig): Cosmetic change.
|
|
|
|
* pinfo.cc (pinfo::exit): Don't explicitly remove myself since some
|
|
|
|
other thread may still be using it.
|
|
|
|
|
2005-09-25 03:17:49 +08:00
|
|
|
2005-09-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (sigproc_terminate): More reversion of
|
|
|
|
always-exit-from-sigthread change.
|
|
|
|
|
2005-09-24 07:56:17 +08:00
|
|
|
2005-09-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* shared.cc (open_shared): Add crucial bit of debugging info.
|
|
|
|
|
2005-09-24 07:37:52 +08:00
|
|
|
2005-09-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
Semi-reversion of always-exit-from-sigthread change of 2005-09-15.
|
|
|
|
* exceptions.cc (sigpacket::process): Eliminate return after call to
|
|
|
|
reinstated noreturn function.
|
|
|
|
(signal_exit): Allow function to exit when a captive process has been
|
|
|
|
terminated.
|
|
|
|
* pinfo.cc (pinfo::exit): Enter exit_lock here. Once again exit here
|
|
|
|
under control of exit_lock.
|
|
|
|
* sigproc.cc (sig_send): Don't wait for completion if process is exiting.
|
|
|
|
Remove special __SIGEXIT accommodations.
|
|
|
|
(wait_sig): Just exit the thread when a __SIGEXIT has been detected.
|
|
|
|
Don't exit the process.
|
|
|
|
|
2005-09-24 07:25:25 +08:00
|
|
|
2005-09-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* net.cc (cygwin_gethostbyname): Remove debugging cruft.
|
|
|
|
|
2005-09-24 04:05:50 +08:00
|
|
|
2005-09-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::exit): Call ExitProcess if called from signal
|
|
|
|
thread.
|
|
|
|
|
2005-09-24 03:23:26 +08:00
|
|
|
2005-09-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::exit): Eliminate use of _my_tls.thread_handle.
|
2005-09-24 03:24:03 +08:00
|
|
|
* tlsoffsets.h: Regenerate.
|
2005-09-24 03:23:26 +08:00
|
|
|
|
2005-09-23 23:18:22 +08:00
|
|
|
2005-09-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.h (struct _cygtls::thread_handle): Remove/revert.
|
|
|
|
* sigproc.h (struct sipacket::thread_handle): Put thread_handle here.
|
|
|
|
* sigproc.cc (sigproc_terminate): Move setting of thread_handle...
|
|
|
|
(sig_send): ...to here. Put it in packet being sent. Only close
|
|
|
|
pack.wakeup when we're waiting for completion.
|
|
|
|
(wait_sig): Use thread_handle directly from received packet.
|
|
|
|
|
2005-09-23 11:35:41 +08:00
|
|
|
2005-09-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygheap.cc (cygheap_fixup_in_child): It's not just for exec.
|
|
|
|
* cygtls.h (struct _cygtls::thread_handle): New field.
|
|
|
|
* dcrt0.cc (exit_lock): Remove declaration.
|
|
|
|
* winsup.h (exit_lock): Add declaration.
|
|
|
|
* exceptions.cc (sigpacket::process): Properly return after
|
|
|
|
signal_exit.
|
|
|
|
* pinfo.cc (pinfo::exit): Only exit the process if
|
|
|
|
_my_tls.thread_handle has not been filled out -- which should be an
|
|
|
|
impossible event.
|
|
|
|
* sigproc.cc (sigproc_terminate): Fillout _my_tls.thread_handle to
|
|
|
|
provide something for wait_sig to wait for. Use the siginfo_t version
|
|
|
|
of sig_send and fill out the tls argument with _my_tls.
|
|
|
|
(wait_sig): Wait for the thread specified in pack.tls or (for now)
|
|
|
|
complain bitterly if it doesn't exit.
|
2005-09-23 11:40:57 +08:00
|
|
|
* tlsoffsets.h: Regenerate.
|
2005-09-23 11:35:41 +08:00
|
|
|
|
2005-09-23 05:10:07 +08:00
|
|
|
2005-09-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (set_myself): Call strace.hello unconditionally when
|
|
|
|
DEBUGGING.
|
|
|
|
(pinfo::init): Sleep and issue debugging output before looping when a
|
|
|
|
PID_EXITED is found.
|
|
|
|
|
2005-09-23 01:53:38 +08:00
|
|
|
2005-09-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix copy/paste
|
|
|
|
bug.
|
|
|
|
|
2005-09-23 01:06:48 +08:00
|
|
|
2005-09-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* strace.cc (strace::vsprntf): Avoid accessing myself->pid if !myself.
|
|
|
|
|
2005-09-23 00:41:36 +08:00
|
|
|
2005-09-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/sys/strace.h (_STRACE_ON): Remove semicolon from definition.
|
|
|
|
(_STRACE_OFF): Remove semicolon from definition.
|
|
|
|
|
2005-09-22 23:52:02 +08:00
|
|
|
2005-09-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_base::fstat_helper): Declare with additional
|
|
|
|
file attributes argument.
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Use
|
|
|
|
file attributes evaluated from NtQueryFileInformation or
|
|
|
|
FileInformationByHandle in call to fstat_helper.
|
|
|
|
Set pc.fileattr from just evaluated file attributes here.
|
|
|
|
(fhandler_base::fstat_by_name): Use file attributes evaluated from
|
|
|
|
FindFileFirst or default attribute in call to fstat_helper.
|
|
|
|
Set pc.fileattr from just evaluated file attributes here.
|
|
|
|
(fhandler_base::fstat_helper): Use file attributes given as argument,
|
|
|
|
not file attributes stored in this fhandler, since this information
|
|
|
|
is potentially wrong. Add comment to explain this.
|
|
|
|
* path.h (has_attribute): New global inline function.
|
|
|
|
(path_conv::set_attributes): New method to change fileattr.
|
|
|
|
|
2005-09-22 03:29:50 +08:00
|
|
|
2005-09-21 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::operator new): Just use getenv() to look for
|
|
|
|
CYGWIN_FREERANGE_NOCHECK since the Windows environment may be truncated
|
|
|
|
by being previously execed.
|
|
|
|
|
2005-09-21 02:32:23 +08:00
|
|
|
2005-09-20 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* spawn.cc (av::fixup): Just blindly run any file if it has a .bat or
|
|
|
|
.cmd extension.
|
|
|
|
|
2005-09-20 10:06:57 +08:00
|
|
|
2005-09-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (do_exit): Only call sigproc_terminate from one location --
|
|
|
|
pinfo::exit.
|
|
|
|
* pinfo.cc (pinfo::exit): Move sigproc_terminate later so that signals
|
|
|
|
can be processed while waiting for hExeced child.
|
|
|
|
(pinfo::maybe_set_exit_code_from_windows): Set exit code from sigExeced
|
|
|
|
if it is non-zero. Set exit_state to ES_EXEC_EXIT prior to waiting for
|
|
|
|
captive process exit code.
|
|
|
|
* exceptions.cc (sigExeced): New global variable.
|
|
|
|
(signal_exit): Remove noreturn attribute from declaration.
|
|
|
|
(signal_exit): Just terminate captive process and return if hExeced on
|
|
|
|
the theory that the exit will be subsequently handled in the main
|
|
|
|
thread.
|
|
|
|
* sigproc.cc (sigproc_terminate): Eliminate test for
|
|
|
|
ES_SIGPROCTERMINATE and use ES_FINAL instead.
|
|
|
|
(sig_send): Use no_signals_available instead of duplicate test.
|
|
|
|
* winsup.h (ES_EXEC_EXIT): New enum.
|
|
|
|
(ES_SIGPROCTERMINATE): Delete.
|
|
|
|
|
2005-09-19 22:15:06 +08:00
|
|
|
2005-09-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (talktome): Take siginfo_t argument. Don't scan all pids
|
|
|
|
trying to find one that's talking to me. Just use the pid from
|
|
|
|
siginfo_t.
|
|
|
|
(wait_pid): Pass siginfo_t argument to talktome.
|
|
|
|
|
2005-09-18 04:36:34 +08:00
|
|
|
2005-09-17 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pipe.cc (fhandler_pipe::open): Use 'cfree' to free buffer since it is
|
|
|
|
now allocated by cmalloc.
|
|
|
|
|
2005-09-17 16:55:30 +08:00
|
|
|
2005-09-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* net.cc (cygwin_inet_ntop): Change len argument to socklen_t to
|
|
|
|
follow SUSv3.
|
|
|
|
* include/arpa/inet.h (inet_ntop): Ditto.
|
|
|
|
* include/cygwin/in.h: Include cygwin/socket.h to get socklen_t.
|
|
|
|
|
2005-09-17 04:12:12 +08:00
|
|
|
2005-09-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (build_env): Use "kilo"bytes not "mega"bytes. Return
|
|
|
|
immediately on error.
|
|
|
|
* spawn.cc (spawn_guts): Set return value to -1 on error from
|
|
|
|
build_env.
|
|
|
|
|
2005-09-17 03:58:12 +08:00
|
|
|
2005-09-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (build_env): Clear envblock and return NULL on attempt to
|
|
|
|
use env var > 32K.
|
|
|
|
* spawn.cc (spawn_guts): Set E2BIG if build_env detects an error.
|
|
|
|
|
2005-09-16 23:56:06 +08:00
|
|
|
2005-09-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (environ_init): Protect with a 'myfault' in case
|
|
|
|
GetEnvironmentStrings misbehaves.
|
|
|
|
|
|
|
|
2005-09-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (environ_init): Add debugging output with value returned
|
|
|
|
from GetEnvironmentStrings.
|
|
|
|
|
2005-09-16 22:52:32 +08:00
|
|
|
2005-09-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (environ_init): Issue an error if GetEnvironmentStrings
|
|
|
|
fails and return.
|
|
|
|
|
2005-09-16 11:16:17 +08:00
|
|
|
2005-09-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.h (EXITCODE_SET): Move out of range of Windows error.
|
|
|
|
(EXITCODE_NOSET): Ditto.
|
|
|
|
* sigproc.cc (no_signals_available): Remove check for hwait_sig. Just
|
|
|
|
rely on my_sendsig. Pass in an argument controlling when it is
|
|
|
|
appropriate to test EXITCODE_SET.
|
|
|
|
(proc_can_be_signalled): Remove checks for myself since this function
|
|
|
|
is never called in that context.
|
|
|
|
(sigproc_init): Pre-initialize my_sendsig to non-zero so that
|
|
|
|
proc_can_be_signalled will know that we expect to be signalable soon.
|
|
|
|
(sig_send): Change debugging output.
|
|
|
|
|
2005-09-16 09:47:09 +08:00
|
|
|
2005-09-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (no_signals_available): Return true if sending to self
|
|
|
|
from the signal thread.
|
|
|
|
(wait_sig): Correct so that WaitForSingleObject is called when
|
|
|
|
hMainThread is != 0, rather than the reverse.
|
|
|
|
|
|
|
|
* cygheap.cc (cygheap_fixup_in_child): Clarify potential error message.
|
|
|
|
|
|
|
|
* fork.cc (fork_copy): Cosmetic change.
|
|
|
|
|
2005-09-16 00:06:18 +08:00
|
|
|
2005-09-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (wait_sig): Reorganize exit case so that ExitProcess is
|
|
|
|
always called, since that is the intent of sending a __SIGEXIT. Wait
|
|
|
|
forever for main thread to go away since, presumably, the main thread
|
|
|
|
told us it was going away.
|
|
|
|
|
2005-09-15 08:31:42 +08:00
|
|
|
2005-09-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* spawn.cc (av::fixup): Avoid breaking out of the wrong "loop".
|
|
|
|
|
2005-09-15 08:02:57 +08:00
|
|
|
2005-09-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* hookapi.cc (hook_or_detect_cygwin): Simplify very slightly.
|
|
|
|
* spawn.cc (av::fixup): Guard against problems reading an executable
|
|
|
|
which does not match Microsoft's documentation about PE format.
|
|
|
|
|
2005-09-15 07:03:44 +08:00
|
|
|
2005-09-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* spawn.cc (av::error): Eliminate.
|
|
|
|
(av::av): Remove reference to error.
|
|
|
|
(av::replace0_maybe): Ditto.
|
|
|
|
(av::dup_maybe): Ditto.
|
|
|
|
(av::dup_all): Ditto.
|
|
|
|
(av::unshift): Ditto.
|
|
|
|
(spawn_guts): On a fault, return E2BIG only if ENOMEM has been set.
|
|
|
|
Otherwise return EFAULT.
|
|
|
|
|
2005-09-15 05:26:15 +08:00
|
|
|
2005-09-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.h (san): New structure.
|
|
|
|
(cygtls::andreas): New element. Replaces _myfault and _myfault_errno.
|
|
|
|
(cygtls::fault_guarded): Use andreas.
|
|
|
|
(cygtls::return_from_fault): Ditto.
|
|
|
|
(cygtls::setup_fault): Add a parameter denoting where to store old
|
|
|
|
fault handler, if any and use it to "stack" faults.
|
|
|
|
(cygtls::reset_fault): Restore fault from parameter.
|
|
|
|
(myfault::sebastian): New variable.
|
|
|
|
(myfault::~myfault): Pass sebastian to reset_fault.
|
|
|
|
(myfault::myfault): Store old fault values in sebastian.
|
|
|
|
|
2005-09-15 02:30:21 +08:00
|
|
|
2005-09-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* heap.cc (heap_init): Revert 2005-09-11 patch as it seems to
|
|
|
|
inexplicably cause problems with emacs.
|
|
|
|
|
2005-09-14 22:27:56 +08:00
|
|
|
2005-09-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
2005-09-19 23:50:56 +08:00
|
|
|
Remove some more unneeded 'return;'s throughout.
|
2005-09-14 22:27:56 +08:00
|
|
|
|
2005-09-14 22:08:00 +08:00
|
|
|
2005-09-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.h: Protect declaration so that it only happens when
|
|
|
|
__INSIDE_CYGWIN__.
|
|
|
|
|
2005-09-14 22:00:07 +08:00
|
|
|
2005-09-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* exceptions.cc (sigtid): Remove declaration.
|
|
|
|
(handle_exceptions): Use _sig_tls rather than sigtid to determine if
|
|
|
|
this is the signal thread.
|
|
|
|
(set_signal_mask): Ditto for conditionalized CGF code.
|
|
|
|
* pinfo.cc (pinfo::exit): Exit the thread if we forcefully terminated
|
2005-09-14 22:02:17 +08:00
|
|
|
the main thread.
|
2005-09-14 22:00:07 +08:00
|
|
|
* sigproc.cc (sigtid): Delete.
|
|
|
|
(_sig_tls): Define.
|
|
|
|
(sig_clear): Use _sig_tls rather than sigtid to determine if this is
|
|
|
|
the signal thread.
|
|
|
|
(sig_dispatch_pending): Ditto.
|
|
|
|
(wait_sig): Set _sig_tls here.
|
|
|
|
|
|
|
|
2005-09-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (do_exit): Move sigproc_terminate call later since signal
|
|
|
|
handling was still needed for subsequent stuff. Call sigproc_terminate
|
|
|
|
with new exit_state value.
|
|
|
|
* pinfo.cc (pinfo::exit): Call sigproc_terminate with new exit_state
|
|
|
|
value.
|
|
|
|
* sigproc.cc (proc_terminate): Remove unnecessary (void) parameter.
|
|
|
|
(sigproc_terminate): Ditto. Add new argument to accept exit state to
|
|
|
|
be set.
|
|
|
|
(wait_sig): Reorganize __SIGEXIT handling. Add more debugging output.
|
|
|
|
* winsup.h (sigproc_terminate): Declare with new exit_state argument.
|
|
|
|
(exit_states): Reorganize to reflect new exit ordering of
|
|
|
|
sigproc_terminate.
|
|
|
|
|
2005-09-14 01:08:54 +08:00
|
|
|
2005-09-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (do_exit): Rely on sigproc_terminate to set exit_state
|
|
|
|
appropriately.
|
|
|
|
* pinfo.cc (pinfo::exit): Always call sigproc_terminate here. Rely on
|
|
|
|
sigproc_terminate to signal signal thread to handle eventual process
|
|
|
|
exit.
|
|
|
|
* sigproc.cc (no_signals_available): Change criteria for determining if
|
|
|
|
this process can handle signals to itself.
|
|
|
|
(my_sendsig): New variable. Copy of my sendsig handle.
|
|
|
|
(proc_can_be_signalled): Don't send signals if exit code is set.
|
|
|
|
(sigproc_terminate): Use and set exit_state appropriately to determine
|
|
|
|
when to do anything. Send __SIGEXIT to self to control process exit.
|
|
|
|
(sig_send): Use my_sendsig for sending signals. Don't call
|
|
|
|
proc_can_be_signalled for myself since the criteria is now different
|
|
|
|
for sending signals to myself.
|
|
|
|
(wait_sig): Copy myself->sendsig to my_sendsig for future use. Exit
|
|
|
|
signal loop when __SIGEXIT is received. Wait for main thread to exit
|
|
|
|
and use its exit status to actually exit process.
|
|
|
|
* sigproc.h (__SIGEXIT): New enum.
|
|
|
|
|
|
|
|
2005-09-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (alloc_stack): Eliminate superfluous "return;".
|
|
|
|
* debug.cc (add_handle): Ditto.
|
|
|
|
* devices.in (device::parse): Ditto.
|
|
|
|
* dtable.cc (dtable::vfork_parent_restore): Ditto.
|
|
|
|
(dtable::vfork_child_fixup): Ditto.
|
|
|
|
* environ.cc (parse_options): Ditto.
|
|
|
|
* errno.cc (seterrno_from_win_error): Ditto.
|
|
|
|
* exceptions.cc (sig_handle_tty_stop): Ditto.
|
|
|
|
(set_signal_mask): Ditto.
|
|
|
|
* fhandler.cc (fhandler_base::read): Ditto.
|
|
|
|
(fhandler_base::operator delete): Ditto.
|
|
|
|
(fhandler_base::seekdir): Ditto.
|
|
|
|
(fhandler_base::rewinddir): Ditto.
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Ditto.
|
|
|
|
(fhandler_console::fixup_after_exec): Ditto.
|
|
|
|
* sigproc.cc (sigproc_init): Ditto.
|
|
|
|
(sigproc_terminate): Ditto.
|
2005-09-19 23:50:56 +08:00
|
|
|
|
2005-09-14 01:08:54 +08:00
|
|
|
* devices.cc: Regenerate.
|
|
|
|
|
2005-09-13 23:05:53 +08:00
|
|
|
2005-09-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (wait_sig): Be more defensive about detecting when we're
|
|
|
|
exiting.
|
|
|
|
|
2005-09-13 05:19:07 +08:00
|
|
|
2005-09-12 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::cygthread): Add more info to fatal error.
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Temporarily
|
|
|
|
remove insertion of /dev into root directory.
|
|
|
|
* path.cc (path_conv::check): Ditto.
|
|
|
|
|
2005-09-12 11:55:16 +08:00
|
|
|
2005-09-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* heap.cc (heap_init): Allocate heap from top down as a hedge against
|
|
|
|
subsequent ERROR_INVALID_ADDRESS in forked processes when CTRL-C is
|
|
|
|
pressed.
|
|
|
|
|
2005-09-10 09:37:20 +08:00
|
|
|
2005-09-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* heap.cc (heap_init): Be slightly more aggressive when trying to
|
2005-09-10 13:51:26 +08:00
|
|
|
allocate heap. Change fatal error message to avoid confusion with
|
|
|
|
cygheap.
|
2005-09-10 09:37:20 +08:00
|
|
|
|
|
|
|
* spawn.cc (linebuf::finish): New function.
|
|
|
|
(linebuf::add): Cosmetic change.
|
|
|
|
(spawn_guts): Only avoid building windows command line if the program
|
|
|
|
being executed was actually mounted with -X. Don't return E2BIG if we
|
|
|
|
hit the 32K size and we're executing a detected cygwin program. Just
|
|
|
|
silently truncate the windows command line, instead.
|
|
|
|
|
2005-09-09 11:00:34 +08:00
|
|
|
2005-09-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_serial.cc (fhandler_serial::tcgetattr): Just zero c_cflag
|
|
|
|
here rather than clearing CBAUD after the fact.
|
2005-09-10 09:37:20 +08:00
|
|
|
* termios.cc (tcgetattr): Revert previous change.
|
2005-09-09 11:00:34 +08:00
|
|
|
|
2005-09-09 10:53:40 +08:00
|
|
|
2005-09-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_serial.cc (fhandler_serial::ioctl): Always return 0 for
|
|
|
|
window size.
|
|
|
|
* termios.cc (tcgetattr): Clear out baud part of c_cflag since it is
|
|
|
|
always ignored.
|
|
|
|
|
2005-09-08 22:58:15 +08:00
|
|
|
2005-09-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* exceptions.cc (ctrl_c_handler): Disable any special CTRL_LOGOFF_EVENT
|
|
|
|
handling and add longish comment about the reasons.
|
|
|
|
|
2005-09-08 08:57:12 +08:00
|
|
|
2005-09-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* hookapi.cc (rvadelta): Change argument to DWORD to eliminate a
|
|
|
|
compiler warning.
|
|
|
|
|
|
|
|
* path.h (path_conv::set_cygexec): New function.
|
|
|
|
* spawn.cc (av::iscygwin): Eliminate.
|
|
|
|
(av::av): Don't initialize iscygwin.
|
|
|
|
(spawn_guts): Just use real_path.iscygexec for all tests.
|
|
|
|
(av::fixup): Short circuit test if .exe extension and known cygexec.
|
|
|
|
Set cygexec flag appropriately if we find that program uses cygwin1.dll.
|
|
|
|
|
2005-09-07 11:10:17 +08:00
|
|
|
2005-09-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (initial_env): Don't attempt stracing if dynamically loaded.
|
|
|
|
(dll_crt0_0): Move console initialization earlier.
|
|
|
|
* init.cc (dll_entry): Move console initialization here.
|
|
|
|
* exceptions.cc (init_console_handler): Fully remove any old console
|
|
|
|
handler.
|
2005-09-08 00:01:06 +08:00
|
|
|
(handle_sigsuspend): Make cancelable when called from non-main thread.
|
2005-09-07 11:10:17 +08:00
|
|
|
|
|
|
|
* spawn.cc (spawn_guts): Don't fill out windows argv if we've deduced
|
|
|
|
that this is a cygwin-using program.
|
|
|
|
(av::fixup): Always check executables to see if they are using
|
|
|
|
cygwin1.dll. Don't consider .com files to be scripts.
|
|
|
|
* hookapi.cc (rvadelta): New function.
|
|
|
|
(PEHeaderFromHModule): Simplify slightly.
|
|
|
|
(hook_or_detect_cygwin): Use passed in name argument for "HMODULE"
|
|
|
|
rather than incorrectly reading current program. Calculate delta
|
|
|
|
needed to read image data and file names if this isn't a real
|
|
|
|
"HMODULE".
|
|
|
|
|
2005-09-07 03:22:54 +08:00
|
|
|
2005-09-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* thread.h: Revert patch from 2005-09-05.
|
|
|
|
* thread.cc (pthread_mutex::can_be_unlocked): Return true also if
|
|
|
|
mutex is owned by MUTEX_OWNER_ANONYMOUS.
|
|
|
|
|
2005-09-06 01:30:04 +08:00
|
|
|
2005-09-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygheap.cc (cygheap_init): Eliminate debugging #if.
|
|
|
|
|
|
|
|
* fork.cc (fork_parent): Don't issue errors if "somebody" has set the
|
|
|
|
PID_EXITED flag on a child. Don't close process handle if it has
|
|
|
|
potentially already been closed.
|
|
|
|
* pinfo.cc (winpids::add): Eliminate PID_ALLPIDS handling which was
|
|
|
|
obsoleted by previous changes.
|
|
|
|
|
|
|
|
* spawn.cc (av::fixup): Do win16 detection for .com files. Make sure
|
|
|
|
that buffer has been unmapped in all cases.
|
|
|
|
|
2005-09-05 23:17:03 +08:00
|
|
|
2005-09-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* thread.h (pthread_mutex::get_pthread_self): Remove.
|
|
|
|
(pthread_mutex::lock): Use ::pthread_self as self parameter.
|
|
|
|
(pthread_mutex::trylock): Ditto.
|
|
|
|
(pthread_mutex::unlock): Ditto.
|
|
|
|
(pthread_mutex::destroy): Ditto.
|
|
|
|
|
2005-09-03 01:12:37 +08:00
|
|
|
2005-09-02 Dave Korn <dave.korn@artimi.com>
|
|
|
|
|
|
|
|
* Makefile.in (CXXFLAGS): Use 'override' to correctly set flags to
|
|
|
|
generate dependencies when invoked from top-level make.
|
|
|
|
|
2005-08-29 11:12:39 +08:00
|
|
|
2005-08-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* exceptions.cc (set_process_mask_delta): Conditionalize debugging
|
|
|
|
output.
|
|
|
|
* sigproc.cc (proc_subproc): Make strace output a little more verbose.
|
|
|
|
|
2005-08-29 07:26:23 +08:00
|
|
|
2005-08-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.h (__ljfault): Declare.
|
|
|
|
(_cygtls::return_from_fault): Use __ljfault.
|
|
|
|
* exceptions.cc (set_signal_mask): Revert previous checkin.
|
|
|
|
* gendef (__sjfault): Split out into a separate function which doesn't
|
2005-08-29 07:52:01 +08:00
|
|
|
bother with any special signal locking.
|
2005-08-29 07:26:23 +08:00
|
|
|
(_ljfault): Return from a __sjfault without bothering with signals.
|
|
|
|
|
2005-08-29 01:34:25 +08:00
|
|
|
2005-08-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.h (_local_storage::strerror_buf): Allocate more space.
|
|
|
|
* errno.cc (strerror_worker): New function, adapted from strerror.
|
|
|
|
(strerror): Use strerror_worker.
|
|
|
|
* tlsoffsets.h: Regenerate.
|
|
|
|
|
|
|
|
* exceptions.cc (set_signal_mask): Minimize time during which mask_sync
|
|
|
|
is held.
|
|
|
|
|
2005-08-29 01:30:34 +08:00
|
|
|
2005-08-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.din: Correct readdir_r typo.
|
|
|
|
|
2005-08-29 00:30:48 +08:00
|
|
|
2005-08-27 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
|
|
|
|
|
2005-08-29 00:51:55 +08:00
|
|
|
* dir.cc (readdir_r): Invert sense on error test.
|
2005-08-29 00:30:48 +08:00
|
|
|
|
2005-08-26 23:11:06 +08:00
|
|
|
2005-08-25 Corinna Vinschen <corinna@vinschen.de>
|
2005-09-19 23:50:56 +08:00
|
|
|
|
2005-08-26 23:11:06 +08:00
|
|
|
* path.cc (normalize_posix_path): Keep two leading slashes
|
|
|
|
intact throughout.
|
|
|
|
(normalize_win32_path): Revert to only checking for slash.
|
|
|
|
(realpath): Convert drive letters to cygdrive paths before
|
|
|
|
doing anything else.
|
|
|
|
* shared_info.h (mount_info::cygdrive_posix_path): Make public.
|
|
|
|
|
2005-08-26 05:18:26 +08:00
|
|
|
2005-08-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (realpath): Drop call to mount_info::conv_to_posix_path
|
|
|
|
in favor of calling path_conv with PC_POSIX flag. Align error
|
|
|
|
handling closer to POSIX. As on Linux, return user space allocated
|
|
|
|
memory if second parameter is NULL.
|
|
|
|
|
2005-08-26 04:35:25 +08:00
|
|
|
2005-08-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (normalize_win32_path): Honor network paths. Fold more
|
|
|
|
than two leading dir separators into one. Check for dir separator
|
|
|
|
instead of just slashes to handle incoming Win32 paths correctly.
|
|
|
|
|
2005-08-25 23:27:10 +08:00
|
|
|
2005-08-25 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* errno.cc (errmap): Translate ERROR_NO_MORE_ITEMS to ENMFILE.
|
|
|
|
|
2005-08-25 11:12:48 +08:00
|
|
|
2005-08-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* exceptions.cc (handle_sigsuspend): Just sleep forever if called from
|
|
|
|
non-main thread.
|
|
|
|
(sigpacket:process): Simplify logic which determines when and how a
|
|
|
|
signal is masked. Don't trigger sigwait if there is a signal handler.
|
|
|
|
* sigproc.cc (wait_sig): Update comment. Try to process a signal which
|
|
|
|
is in the queue if it isn't queued for the target thread (this is still
|
|
|
|
not right).
|
|
|
|
|
2005-08-25 02:26:14 +08:00
|
|
|
2005-08-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* spawn.cc (perhaps_suffix): Record errno-type error value in third
|
|
|
|
argument.
|
|
|
|
(find_exec): On error, set errno returned from perhaps_suffix.
|
|
|
|
(spawn_guts): Ditto.
|
|
|
|
|
2005-08-25 01:45:11 +08:00
|
|
|
2005-08-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_virtual.cc (fhandler_virtual::close): Don't free filebuf if
|
|
|
|
it's NULL.
|
|
|
|
* pinfo.cc (_pinfo::commune_send): Fix test for incorrect number of
|
|
|
|
bytes read from pipe.
|
|
|
|
|
2005-08-24 23:50:11 +08:00
|
|
|
2005-08-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* syscalls.cc (endusershell): Reset shell_fp to NULL to allow
|
|
|
|
subsequent getusershell calls.
|
|
|
|
|
2005-08-24 22:17:56 +08:00
|
|
|
2005-08-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Fill in fileattr for /dev, defaulting to
|
|
|
|
directory if /dev doesn't actually exist.
|
|
|
|
(win32_device_name): Don't consider FH_DEV to be a device since it's
|
|
|
|
really a directory which should go through mount processing.
|
|
|
|
|
2005-08-24 12:38:39 +08:00
|
|
|
2005-08-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygheap.h (cygheap_types): Add HEAP_COMMUNE.
|
|
|
|
* fhandler_proc.cc: Use cygheap rather than user heap for allocation of
|
|
|
|
filebuf throughout.
|
|
|
|
* fhandler_registry.cc: Ditto.
|
|
|
|
* fhandler_virtual.cc: Ditto.
|
|
|
|
* fhandler_process.cc: Ditto.
|
|
|
|
(get_mem_values): Use malloc/realloc/free rather than new.
|
|
|
|
* pinfo.cc (_pinfo::commune_send): Allocate on cygwin heap rather than
|
|
|
|
user heap. Avoid calling ReadFile when correct number of characters
|
|
|
|
have been read or suffer buffer corruption.
|
|
|
|
(_pinfo::fd): Allocate on cygwin heap rather than user heap.
|
|
|
|
(_pinfo::fds): Ditto.
|
|
|
|
(_pinfo::root): Ditto.
|
|
|
|
(_pinfo::cwd): Ditto.
|
|
|
|
(_pinfo::cmdline): Ditto.
|
|
|
|
|
|
|
|
* devices.h (FH_DEV): New define.
|
|
|
|
* devices.in: Detect lone /dev.
|
|
|
|
* devices.cc: Regenerate.
|
|
|
|
* path.cc (path_conv::check): Treat FH_DEV as a special case.
|
|
|
|
|
2005-08-24 06:22:52 +08:00
|
|
|
2005-08-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.h (set_signal_mask): Remove default on second parameter and
|
|
|
|
make pass by reference.
|
|
|
|
* signal.cc (abort): Accommodate change to set_signal_mask.
|
|
|
|
* select.cc (pselect): Ditto.
|
|
|
|
* exceptions.cc (handle_sigsuspend): Ditto.
|
|
|
|
(ctrl_c_handler): Ditto.
|
|
|
|
(sighold): Ditto.
|
|
|
|
(sigrelse): Ditto.
|
|
|
|
(set_process_mask_delta): Ditto.
|
|
|
|
(_cygtls::call_signal_handler): Ditto.
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Return ENMFILE
|
|
|
|
if __handle is not set. Set __handle to NULL when out of files.
|
|
|
|
(fhandler_disk_file::rewinddir): Don't close handle if it's NULL.
|
|
|
|
(fhandler_disk_file::closedir): Ditto.
|
|
|
|
|
2005-08-23 11:58:09 +08:00
|
|
|
2005-08-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dir.cc (readdir_worker): Make static. Only add '.' and '..' when
|
|
|
|
readdir fails due to ENMFILE.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Only close
|
|
|
|
handle on error != ENMFILE.
|
|
|
|
|
2005-08-23 00:12:01 +08:00
|
|
|
2005-08-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* mtinfo.h (mtinfo_drive::error): Fix argument bug in debug_printf call.
|
|
|
|
|
2005-08-20 14:19:55 +08:00
|
|
|
2005-08-20 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygerrno.h (geterrno_from_win_error): Change declaration to default
|
|
|
|
to using GetLastError and EACCESS.
|
|
|
|
* cygwin.din: Export readdir_r.
|
|
|
|
* include/cygwin/version.h: Bump API version number to 138.
|
|
|
|
* syscalls.cc (readdir_worker): New function, renamed from old
|
|
|
|
readdir() function.
|
|
|
|
(readdir): Use readdir_worker.
|
|
|
|
(readdir_r): New function.
|
|
|
|
* fhandler.h (fhandler_base::readdir): Accommodate second argument
|
|
|
|
indicating dirent buffer.
|
|
|
|
(fhandler_disk_file::readdir): Ditto.
|
|
|
|
(fhandler_cygdrive::readdir): Ditto.
|
|
|
|
(fhandler_proc::readdir): Ditto.
|
|
|
|
(fhandler_netdrive::readdir): Ditto.
|
|
|
|
(fhandler_registry::readdir): Ditto.
|
|
|
|
(fhandler_process::readdir): Ditto.
|
|
|
|
* fhandler.cc (fhandler_base::readdir): Ditto.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Ditto.
|
|
|
|
* fhandler_cygdrive.cc (fhandler_cygdrive::readdir): Ditto.
|
|
|
|
* fhandler_proc.cc (fhandler_proc::readdir): Ditto.
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::readdir): Ditto.
|
|
|
|
* fhandler_registry.cc (fhandler_registry::readdir): Ditto.
|
|
|
|
* fhandler_process.cc (fhandler_process::readdir): Ditto.
|
2005-08-20 14:21:20 +08:00
|
|
|
* include/sys/dirent.h (readdir_r): Add declaration.
|
2005-08-20 14:19:55 +08:00
|
|
|
|
2005-08-20 00:29:43 +08:00
|
|
|
2005-08-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.h (dirent_states): Add dirent_saw_proc.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Fill in "proc"
|
|
|
|
if it is the root dir and it is missing.
|
|
|
|
|
2005-08-20 00:18:42 +08:00
|
|
|
2005-08-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.h (dirent_states): Add dirent_isroot, dirent_saw_cygdrive,
|
|
|
|
dirent_saw_dev.
|
|
|
|
* dir.cc (opendir): Don't zero __flags here. Push that responsibility
|
|
|
|
to opendir methods.
|
2005-09-10 09:37:20 +08:00
|
|
|
(seekdir): Preserve dirent_isroot in __flags.
|
2005-08-20 00:18:42 +08:00
|
|
|
(rewinddir): Ditto.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Set
|
|
|
|
dirent_isroot appropriately.
|
|
|
|
(fhandler_disk_file::readdir): Fill in "cygdrive" and "dev" if it is
|
|
|
|
the root dir and they are missing.
|
|
|
|
* fhandler_process.cc (fhandler_process::opendir): Set __flags here.
|
|
|
|
* fhandler_virtual.cc (fhandler_virtual::opendir): Set __flags here.
|
|
|
|
|
2005-08-19 22:56:48 +08:00
|
|
|
2005-08-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* winsup.h (create_pipe): Declare new function.
|
|
|
|
(CreatePipe): New define.
|
|
|
|
* miscfuncs.cc (create_pipe): Define new function.
|
|
|
|
|
2005-08-19 04:17:10 +08:00
|
|
|
2005-08-18 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_tty_common::lseek): Declare new method.
|
|
|
|
(fhandler_tty_slave::lseek): Delete old method.
|
|
|
|
(fhandler_tty_master::lseek): Delete old method.
|
|
|
|
* fhandler_tty.cc (fhandler_tty_common::lseek): Define new method.
|
|
|
|
|
2005-08-18 21:14:15 +08:00
|
|
|
2005-08-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (fhandler_socket::recvfrom): Always initialize
|
|
|
|
ret to 0.
|
|
|
|
(fhandler_socket::recvmsg): Ditto.
|
|
|
|
|
2005-08-18 16:35:19 +08:00
|
|
|
2005-08-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* errno.cc (strerror): Check errnum for underflow.
|
|
|
|
|
2005-08-18 00:10:48 +08:00
|
|
|
2005-08-17 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (dll_crt0_1): Tweak debugging stuff.
|
|
|
|
|
|
|
|
2005-08-17 Pavel Tsekov <ptsekov@gmx.net>
|
|
|
|
|
|
|
|
* fhandler_tty.cc (fhandler_tty_common::close): Rearrange the code so
|
|
|
|
that the master end of the input and output pipes is closed before
|
|
|
|
signalling an EOF event to the slave.
|
|
|
|
(fhandler_pty_master::close): Likewise.
|
|
|
|
|
2005-08-15 03:48:07 +08:00
|
|
|
2005-08-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* init.cc (respawn_wow64_process): Make inline function. Remove
|
|
|
|
"noreturn" attribute. Add additional check if parent process is
|
|
|
|
actually a 64 bit process.
|
|
|
|
(dll_entry): Only test WOW64 processes with a stack in the usual
|
|
|
|
"dangerous" process space area.
|
|
|
|
|
2005-08-12 01:03:18 +08:00
|
|
|
2005-08-11 Troy Curtiss <trcurtiss@gmail.com>
|
|
|
|
|
|
|
|
* fhandler_serial.cc (fhandler_serial::tcgetattr): Return current baud
|
|
|
|
rate regardless of current DTR state.
|
|
|
|
|
2005-08-12 00:30:48 +08:00
|
|
|
2005-08-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc: Remove ld_preload declaration.
|
|
|
|
* winsup.h: Move ld_preload declaration here.
|
|
|
|
* fork.cc (fork_child): Call ld_preload() before returning.
|
|
|
|
|
2005-08-12 00:13:30 +08:00
|
|
|
2005-08-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* child_info. (CURR_CHILD_INFO_MAGIC): Refresh.
|
|
|
|
(child_info::child_info()): New constructor.
|
|
|
|
(child_info_spawn::child_info_spawn()): Ditto.
|
|
|
|
(child_info_spawn::operator new): New operator.
|
|
|
|
(child_info_spawn::set): New function.
|
|
|
|
* spawn.cc (av()): New constructor.
|
|
|
|
(av::operator new): New operator.
|
|
|
|
(av::set): New function.
|
2005-08-12 01:18:18 +08:00
|
|
|
(spawn_guts): Reorganize so that classes which allocate are defined
|
2005-08-12 00:13:30 +08:00
|
|
|
early in the function so that it can be properly cleaned up after an
|
|
|
|
efault. Set errno to E2BIG in the event of a SEGV situation.
|
|
|
|
|
2005-08-09 02:54:28 +08:00
|
|
|
2005-08-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/sys/cdefs.h: Remove extra line.
|
|
|
|
|
2005-08-09 00:30:15 +08:00
|
|
|
2005-08-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* security.cc (get_reg_security): New static function.
|
|
|
|
(get_nt_object_security): Call get_reg_security for registry keys
|
|
|
|
to circumvent problems with predefined registry keys.
|
|
|
|
|
2005-08-08 23:33:32 +08:00
|
|
|
2005-08-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_process.cc (fhandler_process::open): Allow opening of
|
|
|
|
/proc/<pid>/fd for reading.
|
|
|
|
* fhandler_registry.cc (fhandler_registry::open): Ditto for registry
|
|
|
|
keys.
|
|
|
|
|
2005-08-08 23:00:39 +08:00
|
|
|
2005-08-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/sys/cdefs.h (__CONCAT): Define.
|
|
|
|
* include/elf.h: New file.
|
|
|
|
* include/sys/elf32.h: Ditto.
|
|
|
|
* include/sys/elf64.h: Ditto.
|
|
|
|
* include/sys/elf_common.h: Ditto.
|
|
|
|
* include/sys/elf_generic.h: Ditto.
|
|
|
|
|
2005-08-08 21:53:05 +08:00
|
|
|
2005-08-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.sc: Use simpler method to align .cygheap.
|
|
|
|
* dllfixdbg: Just copy .stab and .stabstr sections when making
|
|
|
|
cygwin1.dbg, rather than relying on objcopy to keep only the debug
|
|
|
|
sections since objcopy seems to get it wrong.
|
|
|
|
|
|
|
|
2005-08-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* dtable.cc (build_fh_pc): Check setting fh to fhandler_nodevice for
|
|
|
|
NULL, too.
|
|
|
|
|
2005-08-08 21:39:56 +08:00
|
|
|
2005-08-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* ftw.c: Include winsup.h.
|
|
|
|
* nftw.c: Ditto.
|
|
|
|
* include/ftw.h: Guard declarations appropriately.
|
|
|
|
|
* Makefile.in (DLL_OFILES): Add fts.o, ftw.o, nftw.o.
* cygwin.din: Export fts_children, fts_close, fts_get_clientptr,
fts_get_stream, fts_open, fts_read, fts_set, fts_set_clientptr,
ftw, nftw.
* fts.c: New file, imported from FreeBSD.
* ftw.c: Ditto.
* nftw.c: Ditto.
* include/fts.h: Ditto.
* include/ftw.h: Ditto.
* include/cygwin/version.h: Bump API minor number.
2005-08-08 17:45:42 +08:00
|
|
|
2005-08-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* Makefile.in (DLL_OFILES): Add fts.o, ftw.o, nftw.o.
|
|
|
|
* cygwin.din: Export fts_children, fts_close, fts_get_clientptr,
|
|
|
|
fts_get_stream, fts_open, fts_read, fts_set, fts_set_clientptr,
|
|
|
|
ftw, nftw.
|
|
|
|
* fts.c: New file, imported from FreeBSD.
|
|
|
|
* ftw.c: Ditto.
|
|
|
|
* nftw.c: Ditto.
|
|
|
|
* include/fts.h: Ditto.
|
|
|
|
* include/ftw.h: Ditto.
|
|
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
2005-08-08 12:06:07 +08:00
|
|
|
2005-08-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* Makefile.in (dtable_CFLAGS): Use -fomit-frame-pointer and
|
|
|
|
-fcheck-new.
|
|
|
|
* cygheap.cc (cmalloc): Only emit system_printf warnings on failure if
|
|
|
|
DEBUGGING.
|
|
|
|
(crealloc): Ditto.
|
|
|
|
(ccalloc): Ditto.
|
|
|
|
* dtable.cc (build_fh_name): Treat NULL return from cnew as indicative
|
|
|
|
of EMFILE condition.
|
|
|
|
(build_fh_dev): Ditto.
|
|
|
|
(dtable::dup_worker): Handle NULL return from build_fh_pc.
|
|
|
|
(dtable::vfork_child_dup): Trust dup_worker to set errno.
|
|
|
|
* fhandler.h (fhandler_base::new): Mark as nothrow.
|
|
|
|
|
2005-08-08 10:27:43 +08:00
|
|
|
2005-08-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dllfixdbg: New perl script.
|
|
|
|
* configure.in: Detect objcopy, objdump, strip.
|
|
|
|
* configure: Regenerate.
|
|
|
|
* Makefile.in: Pass target objcopy/objdump to new dllfixdbg script.
|
|
|
|
Remove previous perl check.
|
|
|
|
* cygwin.sc: Add .gnu_debuglink_overlay section for eventual
|
|
|
|
replacement with .gnu_debuglink section. Revert move of cygheap to end
|
|
|
|
of image.
|
|
|
|
|
2005-08-07 17:21:09 +08:00
|
|
|
2005-08-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* Makefile.in: Allow previous patch to work in a 64 bit environment.
|
|
|
|
|
2005-08-07 10:38:13 +08:00
|
|
|
2005-08-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* Makefile.in: Warn when end of cygheap is not on 64k boundary.
|
|
|
|
* cygwin.sc: Try harder to ensure that cygheap is on a 64k boundary.
|
|
|
|
Move cygheap to end of image to stop interference from unstripped debug
|
|
|
|
regions.
|
|
|
|
|
2005-08-07 07:00:06 +08:00
|
|
|
2005-08-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/endian.h: Move everything into this file and define things
|
|
|
|
more like linux.
|
|
|
|
* include/cygwin/types.h: Include endian.h.
|
|
|
|
* include/sys/dirent.h: Define DT_* types and conversion macros.
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::init): Remove special handling for PID_ALLPIDS and
|
|
|
|
execed code, even though it probably still isn't quite right.
|
|
|
|
|
2005-08-06 00:14:41 +08:00
|
|
|
2005-08-05 Michael Gorse <mgorse@alum.wpi.edu>
|
|
|
|
|
|
|
|
* thread.cc (pthread::create(3 args)): Make bool.
|
|
|
|
(pthread_null::create): Ditto.
|
|
|
|
(pthread::create(4 args)): Check return of inner create rather than
|
|
|
|
calling is_good_object().
|
|
|
|
* thread.h: Ditto.
|
|
|
|
|
2005-08-06 00:11:21 +08:00
|
|
|
2005-08-05 Vaclav Haisman <v.haisman@sh.cvut.cz>
|
|
|
|
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::tcflush): Return either 0 or -1.
|
|
|
|
|
2005-08-05 19:31:33 +08:00
|
|
|
2005-08-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* thread.cc (pthread_cond_timedwait): Check abstime for validity
|
|
|
|
according to SUSv3. Rewrite timeout check and waitlength calculation
|
|
|
|
to avoid overflow problems.
|
|
|
|
|
2005-08-02 17:17:15 +08:00
|
|
|
2005-08-02 Yitzchak Scott-Thoennes <sthoenna@efn.org>
|
|
|
|
|
|
|
|
* include/sys/termios.h: Define TIOCMBIS and TIOCMBIC.
|
|
|
|
* fhandler.h (class fhandler_serial): Declare switch_modem_lines.
|
|
|
|
* fhandler_serial.cc (fhandler_serial::switch_modem_lines): New
|
|
|
|
static function to set or clear DTR and/or RTS.
|
|
|
|
(fhandler_serial::ioctl): Use switch_modem_lines for TIOCMSET
|
|
|
|
and new TIOCMBIS and TIOCMBIC.
|
|
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
2005-07-30 01:26:10 +08:00
|
|
|
2005-07-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::pread): Don't move file offset
|
|
|
|
pointer after I/O.
|
|
|
|
(fhandler_base::pwrite): Ditto.
|
|
|
|
|
2005-07-30 01:04:46 +08:00
|
|
|
2005-07-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_base::pread): Declare new function.
|
|
|
|
(fhandler_base::pwrite): Ditto.
|
|
|
|
(fhandler_disk_file::pread): Ditto.
|
|
|
|
(fhandler_disk_file::pwrite): Ditto.
|
|
|
|
* fhandler.cc (fhandler_base::pread): Define new function.
|
|
|
|
(fhandler_base::pwrite): Ditto.
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::pread): Ditto.
|
|
|
|
(fhandler_base::pwrite): Ditto.
|
|
|
|
* syscalls.cc (pread): Define new function.
|
|
|
|
(pwrite): Ditto.
|
|
|
|
* cygwin.din: Export pread, pwrite.
|
|
|
|
|
|
|
|
* include/sys/ioctl.h: Guard some _IO* declarations to avoid conflict
|
|
|
|
with socket.h.
|
|
|
|
|
2005-07-29 23:26:18 +08:00
|
|
|
2005-07-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/sys/ioctl.h: Add some linux defines.
|
|
|
|
|
2005-07-29 22:33:50 +08:00
|
|
|
2005-07-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::init): Put back accidentally removed debug_printf.
|
|
|
|
|
2005-07-29 22:29:33 +08:00
|
|
|
2005-07-29 Arto Huusko <arto.huusko@wmdata.fi>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::simplestub): Wait for h to be filled out
|
|
|
|
by main thread before assigning it.
|
|
|
|
|
|
|
|
2005-07-29 Arto Huusko <arto.huusko@wmdata.fi>
|
2005-07-29 22:25:28 +08:00
|
|
|
|
|
|
|
* pinfo.cc (pinfo::init): Sleep before retrying open_shared().
|
|
|
|
|
2005-07-29 22:22:56 +08:00
|
|
|
2005-07-29 Arto Huusko <arto.huusko@wmdata.fi>
|
|
|
|
|
|
|
|
* fork.cc (fork_parent): Fix null deref if pinfo creation fails.
|
|
|
|
|
2005-07-29 01:03:34 +08:00
|
|
|
2005-07-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygmalloc.h (MSPACES): Define. This dropped through the cracks after
|
|
|
|
the last malloc update.
|
|
|
|
* dcrt0.cc: Fix a comment.
|
|
|
|
* malloc.cc (internal_malloc): Fix definition so that it can be safely
|
|
|
|
coerced.
|
|
|
|
|
2005-07-28 01:35:18 +08:00
|
|
|
2005-07-27 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/in.h (INET_ADDRSTRLEN): Add new definition.
|
|
|
|
|
2005-07-28 00:16:51 +08:00
|
|
|
2005-07-27 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* gendef: Use nocr to remove \r's from input.
|
|
|
|
gendef (nocr): New function.
|
|
|
|
|
2005-07-27 22:33:09 +08:00
|
|
|
2005-07-27 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_clipboard.cc (fhandler_dev_clipboard::close): Set membuffer
|
|
|
|
to NULL.
|
|
|
|
(fhandler_dev_clipboard::fixup_after_exec): Don't call close here.
|
|
|
|
Just set variables directly.
|
|
|
|
|
2005-07-26 08:55:42 +08:00
|
|
|
2005-07-25 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/byteswap.h: New file.
|
|
|
|
|
2005-07-26 05:46:36 +08:00
|
|
|
2005-07-25 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/types.h: Define loff_t.
|
|
|
|
|
2005-07-17 08:51:03 +08:00
|
|
|
2005-07-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* child_info.h (child_info::sync): Pass pid and HANDLE rather than
|
|
|
|
using pinfo.
|
|
|
|
(child_info::child_info): Accept an argument controlling whether to
|
|
|
|
create proc_subproc.
|
|
|
|
(child_info_spawn::child_info_spawn): Ditto.
|
|
|
|
* sigproc.cc (child_info::child_info): Ditto.
|
|
|
|
(child_info_spawn::child_info_spawn): Ditto.
|
|
|
|
(child_info::sync): Use passed in pid and HANDLE.
|
|
|
|
* fork.cc (fork_parent): Reflect additional arguments required for
|
|
|
|
child_info::sync.
|
|
|
|
* hookapi.cc (hook_or_detect_cygwin): Rename. Change so that NULL 'fn'
|
|
|
|
argument just returns "true", indicating that program uses cygwin1.dll.
|
|
|
|
* spawn.cc (av::win16_exe): New element.
|
|
|
|
* spawn.cc (av::iscygwin): New element.
|
|
|
|
(av::fixup): New function.
|
|
|
|
(spawn_guts): Protect against SEGV. Use fixup function to detect when
|
|
|
|
it is safe to wait for a spawned (as opposed to an execed) program.
|
|
|
|
Reflect changes in child_info::sync arguments.
|
|
|
|
* external.cc (cygwin_internal): Reflect function renaming to
|
|
|
|
hook_or_detect_cygwin.
|
|
|
|
|
|
|
|
* cygheap.cc (cygheap_fixup_in_child): Close handle after debug fixup
|
|
|
|
has been done to prevent false positives in handle collision.
|
|
|
|
|
|
|
|
* exceptions.cc (try_to_debug): Notify debugger if already being
|
|
|
|
debugged.
|
|
|
|
|
2005-07-10 01:15:38 +08:00
|
|
|
2005-07-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (mount): Only check win32_path when we know we need it.
|
|
|
|
|
2005-07-09 16:22:39 +08:00
|
|
|
2005-07-09 Nicholas Wourms <nwourms@gmail.com>
|
|
|
|
|
|
|
|
* cygwin.din (getline): Export.
|
|
|
|
(getdelim): Export.
|
|
|
|
* include/sys/stdio.h (getline): Replace macro with function prototype.
|
|
|
|
(getdelim): Likewise.
|
|
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
2005-07-08 16:24:13 +08:00
|
|
|
2005-07-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (__getline): Export.
|
|
|
|
(__getdelim): Export.
|
|
|
|
* include/sys/stdio.h (getline): Define as __getline.
|
|
|
|
(getdelim): Define as __getdelim.
|
|
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
2005-07-07 04:05:03 +08:00
|
|
|
2005-07-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
Eliminate (void) cast on standalone function calls throughout.
|
|
|
|
|
2005-07-06 04:20:48 +08:00
|
|
|
2005-07-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (cygwin_exit): Mark as "noreturn".
|
|
|
|
* sigproc.cc (child_info::ready): Don't signal parent that we are a
|
|
|
|
cygwin process if we are dynamically loaded.
|
|
|
|
|
2005-07-05 23:11:49 +08:00
|
|
|
2005-07-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* malloc.cc: Update to version 2.8.2.
|
|
|
|
|
2005-07-05 15:28:52 +08:00
|
|
|
2005-07-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_tape.cc (fhandler_dev_tape::close): Don't do "extra stuff"
|
|
|
|
when we know we're execing.
|
|
|
|
|
2005-07-05 11:16:46 +08:00
|
|
|
2005-07-04 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
Change foo (void) to foo () for all c++ functions throughout.
|
|
|
|
Remove all fhandler_*::dump functions throughout.
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_dev_mem::close): Remove pass-through function in
|
|
|
|
favor of virtual method.
|
|
|
|
(handler_dev_raw::close): Ditto.
|
|
|
|
(fhandler_dev_clipboard::fixup_after_exec): New method.
|
|
|
|
* fhandler_dev_mem.cc (fhandler_dev_mem::close): Eliminate pass through
|
2005-07-17 08:51:03 +08:00
|
|
|
function in favor of virtual method.
|
2005-07-05 11:16:46 +08:00
|
|
|
* fhandler_dev_raw.cc (fhandler_dev_raw::close): Ditto.
|
|
|
|
* fhandler_clipboard.cc (fhandler_dev_clipboard::close): Don't go to
|
|
|
|
extra effort when execing.
|
|
|
|
(fhandler_dev_clipboard::fixup_after_exec): New function.
|
|
|
|
* fhandler_console.cc (fhandler_console::close): Don't do "extra stuff"
|
|
|
|
when we know we're execing.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::close): Ditto.
|
|
|
|
* fhandler_dsp.cc (fhandler_dev_dsp::close): Ditto.
|
2005-07-17 08:51:03 +08:00
|
|
|
* fhandler_fifo.cc (fhandler_fifo.cc::close): Ditto. function in favor
|
|
|
|
of base function.
|
2005-07-05 11:16:46 +08:00
|
|
|
* fhandler_random.cc (fhandler_dev_random::close): Ditto.
|
|
|
|
* fhandler_registry.cc (fhandler_registry::close): Ditto.
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::close): Ditto.
|
|
|
|
* fhandler_virtual.cc (fhandler_virtual::close): Ditto.
|
|
|
|
|
|
|
|
* pinfo.cc (proc_waiter): Remove unneeded hExeced declaration.
|
|
|
|
* sigproc.cc: Ditto.
|
|
|
|
* winsup.h (hExeced): Define here.
|
|
|
|
|
|
|
|
* fhandler_virtual.cc (fhandler_virtual::fixup_after_exec): Just call
|
|
|
|
close() to reinitialize things to known state.
|
|
|
|
|
2005-07-05 10:05:07 +08:00
|
|
|
2005-07-04 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
2005-07-05 15:28:52 +08:00
|
|
|
* cygtls.h (_cygtls): Perform minor reformatting.
|
2005-07-05 10:05:07 +08:00
|
|
|
|
|
|
|
* winsup.h (close_all_files): Reflect argument change.
|
|
|
|
* dtable.cc (close_all_files): Ditto.
|
|
|
|
* dtable.h: Ditto.
|
|
|
|
* fhandler.h: Ditto.
|
|
|
|
* spawn.cc (spawn_guts): Move close_all_files back to its original
|
|
|
|
location in first P_OVERLAY test but use argument denoting that handles
|
|
|
|
are only supposed to be closed, not released (more work to be done
|
|
|
|
here).
|
|
|
|
* syscalls.cc (close_all_files): Take an argument denoting whether to
|
|
|
|
release closed files or not.
|
|
|
|
|
2005-07-05 15:28:52 +08:00
|
|
|
* path.cc (symlink): Change argument names to reflect linux man page.
|
|
|
|
(symlink_worker): Ditto. Also appropriately set ENOENT for empty
|
|
|
|
strings.
|
2005-07-05 10:05:07 +08:00
|
|
|
|
|
|
|
|
2005-07-04 16:44:06 +08:00
|
|
|
2005-07-04 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* cygheap.h (struct init_cygheap): Delete cygwin_regname member.
|
|
|
|
* external.cc (cygwin_internal): Use cygpsid::get_id for
|
|
|
|
CW_GET_UID_FROM_SID and CW_GET_GID_FROM_SID.
|
|
|
|
Turn CW_SET_CYGWIN_REGISTRY_NAME and CW_GET_CYGWIN_REGISTRY_NAME
|
|
|
|
into noops.
|
|
|
|
|
2005-07-03 12:05:00 +08:00
|
|
|
2005-07-03 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* thread.cc (pthread_mutex::init): Remove unneeded efault/mutex check.
|
|
|
|
|
2005-07-03 11:25:19 +08:00
|
|
|
2005-07-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* thread.h (verifyable_object_state verifyable_object_isvalid): Delete
|
|
|
|
function declaration that should have been static.
|
|
|
|
* thread.cc (verifyable_object_state verifyable_object_isvalid): Make
|
|
|
|
inline static.
|
|
|
|
(pthread*::is_good_object): Move to directly after
|
|
|
|
verifyable_object_state verifyable_object_isvalid and make inline.
|
2005-07-03 11:44:56 +08:00
|
|
|
(check_valid_pointer): Delete function.
|
|
|
|
(pthread_cond_timedwait): Use myfault to detect valid pointer.
|
|
|
|
(pthread_mutex::init): Ditto.
|
2005-07-03 11:25:19 +08:00
|
|
|
|
2005-07-03 10:40:30 +08:00
|
|
|
2005-07-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
Replace valid memory checks with new myfault class "exception
|
|
|
|
handling", almost everywhere. Leave some thread.cc stuff alone for
|
|
|
|
now.
|
|
|
|
* cygtls.h: Kludge some definitions to avoid including a problematic
|
|
|
|
windows header.
|
|
|
|
(_cygtls::_myfault): New entry.
|
|
|
|
(_cygtls::_myfault_errno): Ditto.
|
|
|
|
(_cygtls::fault_guarded): New function.
|
|
|
|
(_cygtls::setup_fault): Ditto.
|
|
|
|
(_cygtls::return_from_fault): Ditto.
|
|
|
|
(_cygtls::clear_fault): Ditto.
|
|
|
|
(myfault): New class.
|
|
|
|
* exceptions.cc (handle_exceptions): Handle case of guarded fault in
|
|
|
|
system routine.
|
|
|
|
* gendef: Add another entry point for setjmp that the compiler doesn't
|
|
|
|
know about and won't complain about.
|
|
|
|
* gentls_offsets: Just include windows.h rather than kludging a HANDLE
|
|
|
|
def.
|
|
|
|
* miscfuncs.cc (check_null_str): Delete.
|
|
|
|
(check_null_empty_str): Ditto.
|
|
|
|
(check_null_empty_str_errno): Ditto.
|
|
|
|
(check_null_str_errno): Ditto.
|
|
|
|
(__check_null_invalid_struct): Ditto.
|
|
|
|
(__check_null_invalid_struct_errno): Ditto.
|
|
|
|
(__check_invalid_read_ptr): Ditto.
|
|
|
|
(__check_invalid_read_ptr_errno): Ditto.
|
|
|
|
(dummytest): New function.
|
|
|
|
(check_iovec_for_read): Delete.
|
|
|
|
(chec_iovec): Rename from check_iovec_for_write. Take a read/write
|
|
|
|
parameter.
|
|
|
|
* tlsoffsets.h: Regenerate.
|
|
|
|
* winsup.h: Remove check_* declarations.
|
|
|
|
(check_iovec_for_read): Delete declaration. Turn into a define
|
|
|
|
instead.
|
|
|
|
(check_iovec_for_write): Ditto.
|
|
|
|
(check_iovec): New declaration.
|
|
|
|
|
|
|
|
* thread.h: Use ifdef guard name consistent with other header files.
|
|
|
|
|
2005-07-03 10:03:58 +08:00
|
|
|
2005-07-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number to 19.
|
|
|
|
|
2005-07-01 01:00:10 +08:00
|
|
|
2005-06-30 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.cc (fhandler_base::readv): Use malloc/free instead of alloca.
|
|
|
|
(fhandler_base::writev): Ditto.
|
|
|
|
|
2005-06-30 10:52:14 +08:00
|
|
|
2005-06-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygerrno.h: Make multi-inclusion safe.
|
|
|
|
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Deal with EINTR.
|
|
|
|
* dcrt0.cc (dll_crt0_0): Accommodate init_console_handler argument
|
|
|
|
change.
|
|
|
|
* winsup.h: Ditto.
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
|
|
|
|
* exceptions.cc (init_console_handler): Ditto. Ignore console events
|
|
|
|
if we're not attached to a terminal.
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
|
|
|
|
* wincap.cc: Implement has_null_console_handler_routine throughout.
|
|
|
|
* wincap.h: Ditto.
|
|
|
|
|
2005-06-30 07:05:41 +08:00
|
|
|
2005-06-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* autoload.cc (LoadDLLprime): Use a more descriptive name for autoload
|
|
|
|
text sections.
|
|
|
|
* cygwin.sc: Ditto.
|
|
|
|
|
2005-06-27 22:18:13 +08:00
|
|
|
2005-06-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::facl): Add missing break.
|
|
|
|
|
2005-06-24 17:15:05 +08:00
|
|
|
2005-06-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Don't strip trailing dots and spaces
|
|
|
|
at the start of the path.
|
|
|
|
|
2005-06-24 17:12:15 +08:00
|
|
|
2005-06-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.cc (rootdir): Don't set errno.
|
|
|
|
* syscalls.cc (statvfs): Set errno to ENOTDIR if rootdir() failed.
|
|
|
|
|
2005-06-23 03:59:19 +08:00
|
|
|
2005-06-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_dev_tape): Add declaration for
|
|
|
|
fixup_after_fork and set_close_on_exec.
|
|
|
|
* fhandler_tape.cc (fhandler_dev_tape::open): Create mt_mtx mutex
|
|
|
|
inheritable.
|
|
|
|
(fhandler_dev_tape::close): Close mt_mtx.
|
|
|
|
(fhandler_dev_tape::dup): Duplicate mt_mtx and mt_evt as necessary.
|
|
|
|
(fhandler_dev_tape::fixup_after_fork): New method.
|
|
|
|
(fhandler_dev_tape::set_close_on_exec): New method.
|
|
|
|
|
2005-06-22 04:38:05 +08:00
|
|
|
2005-06-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* security.cc (get_initgroups_sidlist): Drop special_pgrp parameter.
|
|
|
|
(get_setgroups_sidlist): Avoid duplicate groups in group list.
|
|
|
|
(create_token): Remove special_pgrp local variable. Accomodate
|
|
|
|
change to get_initgroups_sidlist call.
|
|
|
|
|
2005-06-22 04:09:31 +08:00
|
|
|
2005-06-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* uinfo.cc (uinfo_init): Call reimpersonate to set the main thread's
|
|
|
|
impersonation token.
|
|
|
|
|
2005-06-21 03:58:26 +08:00
|
|
|
2005-06-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_proc.cc (format_proc_partitions): Only list recognized
|
|
|
|
partitions. Use partition number given by PartitionNumber member.
|
|
|
|
|
2005-06-19 03:04:25 +08:00
|
|
|
2005-06-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* glob.c: (glob0): New local variable `limit`. Use in calls to glob1
|
|
|
|
and globextend.
|
|
|
|
(glob1): Add `limit' parameter.
|
|
|
|
(glob2): Ditto.
|
|
|
|
(glob3): Ditto.
|
|
|
|
(globextend): Ditto. Implement GLOB_LIMIT handling.
|
|
|
|
* include/glob.h (GLOB_LIMIT): New define.
|
|
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
2005-06-18 09:36:18 +08:00
|
|
|
2005-06-17 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* wincap.h (wincaps::detect_win16_exe): Declare.
|
|
|
|
(wincapc::detect_win16_exe): Implement.
|
|
|
|
* wincap.cc: Populate detect_win16_exe where appropriate.
|
|
|
|
* spawn.cc (spawn_guts): Only go out of the way to detect 16-bit apps
|
|
|
|
on systems which are flummoxed by them.
|
|
|
|
|
2005-06-18 09:27:06 +08:00
|
|
|
2005-06-17 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* spawn.cc (spawn_guts): Detect when executing a 16-bit application and
|
|
|
|
avoid setting the process pipe since this causes conniptions in Windows
|
|
|
|
9x.
|
|
|
|
|
2005-06-18 04:01:59 +08:00
|
|
|
2005-06-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (inet_pton): Export.
|
|
|
|
(inet_ntop): Export.
|
|
|
|
* net.cc (cygwin_inet_pton): Implement inet_pton for AF_INET for now.
|
|
|
|
(cygwin_inet_ntop): Implement inet_ntop for AF_INET for now.
|
|
|
|
* include/arpa/inet.h (inet_pton): Declare.
|
|
|
|
(inet_ntop): Declare.
|
|
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
2005-06-17 19:44:45 +08:00
|
|
|
2005-06-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_union): Add missing members corresponding to
|
|
|
|
fhandler_fifo and fhandler_netdrive.
|
|
|
|
|
2005-06-16 23:46:40 +08:00
|
|
|
2005-06-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* syscalls.cc (statvfs): Handle the case when GetDiskFreeSpaceEx
|
|
|
|
succeeds but GetDiskFreeSpace fails by faking bytes-per-sector and
|
|
|
|
sectors-per-cluster values.
|
|
|
|
|
2005-06-16 06:50:31 +08:00
|
|
|
2005-06-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::detach): Fix debugging output.
|
|
|
|
* dcrt0.cc (dll_crt0_1): Create signal_arrived early -- before any
|
|
|
|
filename manipulation.
|
|
|
|
* sigproc.cc (sigproc_init): Don't create signal_arrived here.
|
|
|
|
* fork.cc (fork_child): Ditto.
|
2005-06-16 06:51:05 +08:00
|
|
|
* sigproc.h (create_signal_arrived): Declare.
|
2005-06-16 06:50:31 +08:00
|
|
|
|
2005-06-15 07:52:53 +08:00
|
|
|
2005-06-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Always reset to FH_FS when component != 0
|
|
|
|
and FH_NETDRIVE to fix problems with strict case checking.
|
|
|
|
|
2005-06-12 20:01:09 +08:00
|
|
|
2005-06-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (fhandler_socket::recvmsg): Avoid SEGV in OpenSSH
|
|
|
|
when trying to pass file descriptor by setting msg->msg_accrightslen
|
|
|
|
to 0.
|
|
|
|
|
2005-06-12 05:00:23 +08:00
|
|
|
2005-06-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* Makefile.in: Avoid initial heap allocation since cygwin has its own
|
|
|
|
heap.
|
|
|
|
|
2005-06-11 13:09:25 +08:00
|
|
|
2005-06-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Fix a compiler warning.
|
|
|
|
|
2005-06-11 12:56:36 +08:00
|
|
|
2005-06-10 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/pthread.h: Change PTHREAD_MUTEX_DEFAULT to
|
|
|
|
PTHREAD_MUTEX_NORMAL. Revert PTHREAD_MUTEX_INITIALIZER to
|
|
|
|
PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP since that is actually closer
|
|
|
|
to what linux does.
|
|
|
|
* thread.h (cw_cancel_action): New enum.
|
|
|
|
(cancelable_wait): Use cw_cancel_action as third argument.
|
|
|
|
* thread.cc (cancelable_wait): Ditto. Don't wait for cancel if
|
|
|
|
cancel_action == cw_no_cancel.
|
|
|
|
(pthread::create): Don't wait for cancel event since that is racy.
|
|
|
|
(pthread_mutex::pthread_mutex): Set default to PTHREAD_MUTEX_ERRORCHECK.
|
|
|
|
(pthread_mutexattr::pthread_mutexattr): Ditto.
|
|
|
|
(pthread_mutex::_lock): Tell cancelable_wait not to wait for
|
|
|
|
cancellation event.
|
|
|
|
(semaphore::_timedwait): Accommodate change in cancelable_wait args.
|
|
|
|
(pthread::join): Ditto.
|
|
|
|
|
2005-06-11 05:47:24 +08:00
|
|
|
2005-06-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (fhandler_socket::sendto): Always initialize
|
|
|
|
ret to 0.
|
|
|
|
(fhandler_socket::sendmsg): Ditto.
|
|
|
|
|
2005-06-10 20:11:35 +08:00
|
|
|
2005-06-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (imaxabs): Export.
|
|
|
|
(imaxdiv): Export.
|
|
|
|
(llabs): Export.
|
|
|
|
(lldiv): Export.
|
|
|
|
(strtoimax): Export.
|
|
|
|
(strtoumax): Export.
|
|
|
|
* include/inttypes.h (imaxabs): Activate declaration.
|
|
|
|
(imaxdiv): Ditto.
|
|
|
|
(strtoimax): Ditto.
|
|
|
|
(strtoumax): Ditto.
|
|
|
|
* include/cygwin/version.h: Bump API minor.
|
|
|
|
|
2005-06-10 07:48:08 +08:00
|
|
|
2005-06-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::detach): Improve diagnostics for what should
|
|
|
|
be an impossible failure condition.
|
|
|
|
|
2005-06-10 06:33:57 +08:00
|
|
|
2005-06-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.h (_local_storage::setmode_file): New element.
|
|
|
|
(_local_storage::setmode_mode): New element.
|
|
|
|
* tlsoffsets.h: Regenerate.
|
|
|
|
* cygwin.din (setmode): Define as cygwin_getmode.
|
|
|
|
* syscalls.cc (setmode_helper): Use setmode_* variables from tls rather
|
|
|
|
than using unthreadsafe static.
|
|
|
|
(setmode): Break out fwalk stuff.
|
|
|
|
(cygwin_setmode): New function. Put fwalk stdio stuff here.
|
|
|
|
|
2005-06-10 04:59:59 +08:00
|
|
|
2005-06-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* thread.cc (pthread_mutex::_lock): Use cancelable_wait rather than
|
|
|
|
WaitForSingleObject.
|
|
|
|
|
2005-06-10 04:46:00 +08:00
|
|
|
2005-06-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.sc: Place .cygwin_dll_common in a more sensible spot.
|
|
|
|
|
2005-06-10 03:29:27 +08:00
|
|
|
2005-06-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.sc: Place .cygwin_dll_common.
|
|
|
|
* init.cc (threadfunc_ix): Use a more common name for the section name.
|
|
|
|
|
2005-06-09 23:30:44 +08:00
|
|
|
2005-06-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
2005-06-11 12:56:36 +08:00
|
|
|
* include/pthread.h (PTHREAD_MUTEX_INITIALIZER): Change to
|
2005-06-09 23:30:44 +08:00
|
|
|
PTHREAD_NORMAL_MUTEX_INITIALIZER_NP to be closer to linux default.
|
|
|
|
|
2005-06-09 13:14:02 +08:00
|
|
|
2005-06-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* thread.cc (cancelable_wait): No-op change to make sure that res is
|
|
|
|
always a valid WFMO return.
|
|
|
|
|
2005-06-09 13:11:51 +08:00
|
|
|
2005-06-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
Change pthread::cancelable_wait to just cancelable_wait, throughout.
|
|
|
|
* thread.h (cw_sig_wait): New enum.
|
|
|
|
(fast_mutex::lock): Use cancelable_wait with resumable signal.
|
|
|
|
(cancelable_wait): Change fourth argument to cw_sig_wait enum.
|
|
|
|
* thread.cc (cancelable_wait): Ditto. Loop on signal detection if
|
|
|
|
fourth argument == cw_sig_resume.
|
|
|
|
|
2005-06-09 04:56:34 +08:00
|
|
|
2005-06-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.sc: Apparently nonloading sections need to go last.
|
|
|
|
|
2005-06-09 04:18:23 +08:00
|
|
|
2005-06-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.sc: Restore resource and reloc sections and use more modern
|
|
|
|
syntax for stabs sections.
|
|
|
|
|
2005-06-08 23:42:58 +08:00
|
|
|
2005-06-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (spenvs): Remove cut/paste error which associated
|
|
|
|
CYGWIN_DEBUG with HOME.
|
|
|
|
|
2005-06-08 18:06:17 +08:00
|
|
|
2005-06-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* security.cc (cygwin_logon_user): Run LogonUser in the primary
|
|
|
|
process token context. Fix potential handle leak.
|
|
|
|
|
|
|
|
2005-06-07 Corinna Vinschen <corinna@vinschen.de>
|
2005-06-08 03:31:42 +08:00
|
|
|
|
|
|
|
* pinfo.cc (pinfo::init): Define sa_buf as PSECURITY_ATTRIBUTES and
|
|
|
|
allocate dynamically.
|
|
|
|
(pinfo::set_acl): Replace sa_buf by dynamically allocated acl_buf.
|
|
|
|
* sec_acl.cc (setacl): Allocate acl dynamically.
|
|
|
|
* sec_helper.cc (sec_acl): Add test for alignment of acl when
|
|
|
|
DEBUGGING is defined.
|
|
|
|
(__sec_user): Same for sa_buf.
|
|
|
|
* security.cc (verify_token): Define sd_buf as PSECURITY_DESCRIPTOR
|
|
|
|
and allocate dynamically.
|
|
|
|
(alloc_sd): Allocate acl dynamically.
|
|
|
|
security.h (sec_user_nih): Change first parameter to
|
|
|
|
SECURITY_ATTRIBUTES *.
|
|
|
|
(sec_user): Ditto.
|
|
|
|
* sigproc.cc (wait_sig): Define sa_buf as PSECURITY_ATTRIBUTES and
|
|
|
|
allocate dynamically.
|
|
|
|
* syscalls.cc (seteuid32): Define dacl_buf as PACL and allocate
|
|
|
|
dynamically.
|
|
|
|
* uinfo.cc (cygheap_user::init): Define sa_buf as PSECURITY_ATTRIBUTES
|
|
|
|
and allocate dynamically.
|
|
|
|
* winbase.h (ilockincr): Mark first argument of inline assembly as
|
|
|
|
earlyclobber.
|
|
|
|
(ilockdecr): Ditto.
|
|
|
|
|
2005-06-08 02:41:31 +08:00
|
|
|
2005-06-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::detach): Make error message a little more
|
|
|
|
detailed.
|
|
|
|
* fhandler.cc (fhandler_base::raw_read): Ditto for debug message.
|
|
|
|
* dcrt0.cc (do_exit): Add some more synchronization tests.
|
|
|
|
* fhandler_fifo.cc (fhandler_fifo::dup): Don't duplicate a nonexistent
|
|
|
|
handle. Use derived return value rather than always retuning 0.
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::exists): Wnet -> WNet.
|
|
|
|
* winsup.h (exit_states): Add a couple of new exit states.
|
|
|
|
|
2005-06-07 00:58:39 +08:00
|
|
|
2005-06-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (symlink_info::check): If GetFileAttributes returns
|
|
|
|
with ERROR_SHARING_VIOLATION, the file exists.
|
|
|
|
|
2005-06-07 00:17:10 +08:00
|
|
|
2005-06-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* uname.cc (uname): Change "amd64" to "x86_64" as on Linux.
|
|
|
|
|
2005-06-06 23:58:08 +08:00
|
|
|
2005-06-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* uname.cc (uname): Add missing break.
|
|
|
|
|
2005-06-05 12:15:16 +08:00
|
|
|
2005-06-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* Makefile.in: Build sync.o with -fomit-frame-pointer and -O3.
|
|
|
|
|
2005-06-05 12:07:46 +08:00
|
|
|
2005-06-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sync.cc (muto::acquire): Remove unneeded brackets and fix whitespace.
|
|
|
|
|
2005-06-05 11:47:36 +08:00
|
|
|
2005-06-04 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* malloc.cc: Update to Doug Lea's malloc v2.8.0.
|
|
|
|
|
2005-06-04 10:11:50 +08:00
|
|
|
2005-06-03 Max Kaehn <slothman@electric-cloud.com>
|
|
|
|
|
2005-06-07 05:12:00 +08:00
|
|
|
* dcrt0.cc (cygwin_dll_init): Initialize main_environ and cygtls. Add
|
|
|
|
comment to explain the caveats of this method.
|
2005-06-04 10:11:50 +08:00
|
|
|
* how-cygtls-works.txt: New file.
|
|
|
|
|
2005-06-03 09:07:40 +08:00
|
|
|
2005-06-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dlfcn.cc (get_full_path_of_dll): Use a relative path when converting
|
|
|
|
so that the standard Windows rules for finding a library will be used
|
|
|
|
if no path is given. Stop explicitly searching /usr/bin since that is
|
|
|
|
now in effect.
|
|
|
|
|
2005-06-02 10:36:50 +08:00
|
|
|
2005-06-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
Revert 2005-05-30 close_all_files changes.
|
|
|
|
* spawn.cc (spawn_guts): When execing, close all files after the child
|
|
|
|
has synced with us.
|
|
|
|
|
2005-06-02 09:50:23 +08:00
|
|
|
2005-06-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchown): Make sure that
|
|
|
|
disk open is called in case we're passed in a non-existent device.
|
|
|
|
|
2005-06-02 02:24:31 +08:00
|
|
|
2005-06-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/machine/stdlib.h: New file.
|
|
|
|
|
2005-06-01 22:55:45 +08:00
|
|
|
2005-06-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* thread.h (List_remove): Revert most of 2005-05-30 change.
|
|
|
|
|
2005-06-01 12:42:44 +08:00
|
|
|
2005-06-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.sc: Don't output .reloc or .rsrc sections. Clean up stuff
|
|
|
|
around .cygheap and use a workaround to get things working with newer
|
|
|
|
(broken?) binutils.
|
|
|
|
|
2005-06-01 12:00:40 +08:00
|
|
|
2005-05-31 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygheap.cc (cygheap_end): Remove bogus section attribute.
|
|
|
|
* cygwin.sc: Make __cygheap_mid absolute. Remove unused _cygheap_foo.
|
|
|
|
|
2005-06-01 11:46:56 +08:00
|
|
|
2005-05-30 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* child_info.h (child_info::cygheap_h): Delete.
|
|
|
|
(child_info::dwProcessId): New field.
|
|
|
|
* cygheap.cc (init_cheap): Delete.
|
|
|
|
(dup_now): Ditto.
|
|
|
|
(cygheap_setup_for_child): Ditto.
|
|
|
|
(cygheap_setup_for_child_cleanup): Ditto.
|
|
|
|
(cygheap_fixup_in_child): Simplify. Use new "child_copy" function to
|
|
|
|
copy heap from parent.
|
|
|
|
(_csbrk): Don't attempt allocation if within cygheap section. Fix so
|
|
|
|
that more than one allocation will succeed.
|
|
|
|
(cygheap_init): Reset possibly-nonzero region to zero.
|
|
|
|
* cygheap.h (cygheap_setup_for_child): Delete declaration.
|
|
|
|
(cygheap_setup_for_child_cleanup): Ditto.
|
|
|
|
(cygheap_start): Define as an array.
|
|
|
|
* cygwin.sc: Modernize. Remove unneeded sections. Define cygheap
|
|
|
|
here.
|
|
|
|
* dcrt0.cc (do_exit): Reflect argument change to close_all_files.
|
|
|
|
* dtable.cc (dtable::vfork_parent_restore): Ditto.
|
|
|
|
* dtable.h: Ditto.
|
|
|
|
* fhandler.h: Ditto.
|
|
|
|
* fork.cc (fork_copy): Call ReadProcessMemory if there is no thread
|
|
|
|
(indicating that we're execing).
|
|
|
|
(fork_child): Don't mess with hParent.
|
|
|
|
(fork_parent): Remove hParent stuff. It happens earlier now.
|
|
|
|
Remove call to cygheap_setup_for_child* stuff.
|
|
|
|
(fork): Put child_info_stuff in grouped structure. Issue error if
|
|
|
|
parent handle is not set.
|
|
|
|
(child_copy): New function.
|
|
|
|
* sigproc.cc (child_info::child_info): Put cygheap settings here. Set
|
|
|
|
parent handle.
|
|
|
|
(child_info::~child_info): Close parent handle if it exists.
|
|
|
|
* spawn.cc (spawn_guts): Reorganize so that ciresrv is allocated at
|
|
|
|
only the last minute so that cygheap changes are reflected. Delete
|
|
|
|
cygheap_setup* calls.
|
|
|
|
* syscalls.cc (close_all_files): Add an argument to flag when the fd
|
|
|
|
entry should be released.
|
|
|
|
* winsup.h (close_all_files): Add an argument to close_all_files
|
|
|
|
declaration. Declare child_copy.
|
|
|
|
|
2005-05-31 02:37:41 +08:00
|
|
|
2005-05-30 Vaclav Haisman <v.haisman@sh.cvut.cz>
|
|
|
|
|
|
|
|
* thread.h (List_remove): Make node parameter const. Use simple
|
|
|
|
comparison and assignment rather than InterlockedCompareExchangePointer
|
|
|
|
since access is already synchronized.
|
|
|
|
|
2005-05-31 02:20:28 +08:00
|
|
|
2005-05-30 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dlfcn.cc (set_dl_error): Use UNIX error rather than Windows error.
|
|
|
|
|
2005-05-30 08:54:01 +08:00
|
|
|
2005-05-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygmagic: Remove debugging cruft missed on 2005-05-21.
|
|
|
|
|
2005-05-29 19:04:02 +08:00
|
|
|
2005-05-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Move component to function scope. Set
|
|
|
|
PATH_RO only on *real* FH_NETDRIVEs or on non-FH_NETDRIVE virtual
|
|
|
|
paths. Allow non-retrievable shares to be handled as files.
|
|
|
|
|
2005-05-29 18:05:56 +08:00
|
|
|
2005-05-29 Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
* include/limits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Always define.
|
|
|
|
|
2005-05-29 10:42:36 +08:00
|
|
|
2005-05-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* thread.h (pthread_key::set): Inline.
|
|
|
|
(pthread_key::get): Ditto.
|
|
|
|
* thread.cc (pthread::set): Delete.
|
|
|
|
(pthread::get): Ditto.
|
|
|
|
|
2005-05-29 10:26:29 +08:00
|
|
|
2005-05-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.din: Remove signal front end from pthread_[gs]etspecific.
|
|
|
|
|
2005-05-29 08:05:49 +08:00
|
|
|
2005-05-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave:tcflush): Use signed comparison.
|
|
|
|
|
2005-05-29 05:31:17 +08:00
|
|
|
2005-05-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* times.cc (time_ms::usecs): Coerce comparison to signed or whole test
|
|
|
|
is a no-op.
|
|
|
|
|
2005-05-28 02:26:19 +08:00
|
|
|
2005-05-27 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygheap.h: Reference _cygheap_start via .cygheap section.
|
|
|
|
|
|
|
|
* environ.cc: Fix force_into_environment typo throughout.
|
|
|
|
(spenvs): Export CYGWIN_DEBUG if DEBUGGING.
|
|
|
|
|
2005-05-27 02:19:26 +08:00
|
|
|
2005-05-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number to 18.
|
|
|
|
|
2005-05-25 12:32:59 +08:00
|
|
|
2005-05-25 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_base::mkdir): New virtual method.
|
|
|
|
(fhandler_base::rmdir): Ditto.
|
|
|
|
(fhandler_disk_file:mkdir): New method.
|
|
|
|
(fhandler_disk_file:rmdir): Ditto.
|
|
|
|
* dir.cc (mkdir): Implement with fhandlers.
|
|
|
|
(rmdir): Ditto.
|
|
|
|
* fhandler.cc (fhandler_base::mkdir): New virtual method.
|
|
|
|
(fhandler_base::rmdir): Ditto.
|
|
|
|
(fhandler_disk_file::mkdir): New method.
|
|
|
|
(fhandler_disk_file::rmdir): Ditto.
|
|
|
|
|
2005-05-25 11:46:10 +08:00
|
|
|
2005-05-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/version.h: Bump API minor number to 129.
|
|
|
|
|
2005-05-25 11:40:07 +08:00
|
|
|
2005-05-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygwin.din: Export mkdtemp.
|
|
|
|
* mktemp.cc: New file.
|
|
|
|
* Makefile.in (DLL_OFILES): Add mktemp.o
|
|
|
|
|
2005-05-23 21:13:00 +08:00
|
|
|
2005-05-23 Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
* include/stdint.h (INTMAX_C, UINTMAX_C): Fix definition.
|
|
|
|
|
2005-05-22 11:54:29 +08:00
|
|
|
2005-05-21 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* spawn.cc (find_exec): Accept a PATH-like string in place of an
|
|
|
|
environment variable.
|
|
|
|
* dlfcn.cc (get_full_path_of_dll): Search /usr/bin (for windows
|
|
|
|
compatibility) and /usr/lib (for UNIX compatibility) when looking for
|
|
|
|
shared libraries.
|
|
|
|
* environ.cc (conv_envvars): Put back LD_LIBRARY_PATH since it is used
|
|
|
|
by get_full_path_of_dll().
|
|
|
|
* errno.cc (errmap): Map MOD_NOT_FOUND to ENOENT.
|
|
|
|
|
|
|
|
* cygmagic: Remove debugging cruft.
|
|
|
|
|
2005-05-20 05:22:37 +08:00
|
|
|
2005-05-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* include/cygwin/in.h: Add comment.
|
|
|
|
|
2005-05-20 05:18:17 +08:00
|
|
|
2005-05-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* include/cygwin/in.h: Define IPPROTO_xxx values as macros to
|
|
|
|
accomodate SUSv3.
|
|
|
|
|
2005-05-20 03:45:28 +08:00
|
|
|
2005-05-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/limits.h: Include features.h, as on linux.
|
|
|
|
|
2005-05-20 03:44:31 +08:00
|
|
|
2005-05-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/endian.h: New file.
|
|
|
|
|
2005-05-20 01:04:28 +08:00
|
|
|
2005-05-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.sc: Add Dwarf-2 debug sections.
|
|
|
|
|
2005-05-19 16:43:17 +08:00
|
|
|
2005-05-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* mmap.cc (mmap64): Make granularity an automatic variable.
|
|
|
|
|
2005-05-19 13:43:55 +08:00
|
|
|
2005-05-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_cygdrive::seekdir): Delete declaration.
|
|
|
|
(fhandler_cygdrive::seekdir): Delete.
|
|
|
|
|
|
|
|
2005-05-19 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_cygdrive::iscygdrive_root): Delete method.
|
|
|
|
(fhandler_cygdrive::telldir): Delete declaration.
|
|
|
|
* fhandler_disk_file.cc: Remove all uses of
|
|
|
|
fhandler_cygdrive::iscygdrive_root.
|
|
|
|
(fhandler_disk_file::mkdir): New method.
|
|
|
|
(fhandler_disk_file::rmdir): Ditto.
|
|
|
|
(fhandler_cygdrive::telldir): Delete.
|
|
|
|
|
2005-05-19 09:25:20 +08:00
|
|
|
2005-05-18 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* external.cc: Move pids declaration to file scope and use less
|
|
|
|
enthusiastic constructor.
|
|
|
|
* pinfo.h (winpids::winpids): Remove default setting.
|
|
|
|
* fhandler_fifo.cc (fhandler_fifo::open_not_mine): Accommodate removal
|
|
|
|
of default setting.
|
|
|
|
* fhandler_proc.cc (fhandler_proc::readdir): Ditto.
|
|
|
|
|
2005-05-19 07:30:02 +08:00
|
|
|
2005-05-18 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.h (_local_storage::unknown_thread_name): New buffer.
|
|
|
|
* tlsoffsets.h: Regenerate.
|
|
|
|
* cygthread.cc (cygthread::name): Use new thread-local buffer.
|
|
|
|
* exceptions.cc (handle_exceptions): Avoid unnecessary initialization
|
|
|
|
of static variables to zero.
|
|
|
|
* fork.cc (slow_pid_reuse) Ditto.
|
|
|
|
|
2005-05-19 01:23:17 +08:00
|
|
|
2005-05-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* mmap.cc (mmap64): Avoid compiler warning.
|
|
|
|
* ntea.cc (NTReadEA): Ditto.
|
|
|
|
* hires.h (hires_base): Remove useless usecs function.
|
|
|
|
|
2005-05-18 18:32:37 +08:00
|
|
|
2005-05-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::telldir): Remove since it's
|
|
|
|
equivalent to fhandler_virtual::telldir now anyway.
|
|
|
|
* fhandler.h (class fhandler_netdrive): Remove telldir.
|
|
|
|
|
2005-05-18 18:23:40 +08:00
|
|
|
2005-05-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::telldir): Implement.
|
|
|
|
(fhandler_netdrive::seekdir): Implement.
|
|
|
|
(fhandler_netdrive::closedir): Call rewinddir to have only one point
|
|
|
|
of calling WNetCloseEnum.
|
|
|
|
|
2005-05-18 04:34:15 +08:00
|
|
|
2005-05-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_netdrive): Add method rewinddir.
|
|
|
|
* fhandler_netdrive.cc (struct netdriveinf): New structure to
|
|
|
|
store thread arguments.
|
|
|
|
(thread_netdrive): Thread handling all potentially blocking
|
|
|
|
WNet... calls.
|
|
|
|
(create_thread_and_wait): Start and wait for above thread.
|
|
|
|
(fhandler_netdrive::exists): Change to call create_thread_and_wait
|
|
|
|
instead of calling WNet... function.
|
|
|
|
(fhandler_netdrive::readdir): Ditto. Fix error handling.
|
|
|
|
(fhandler_netdrive::rewinddir): New method.
|
|
|
|
|
2005-05-17 16:46:41 +08:00
|
|
|
2005-05-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* external.cc (cygwin_internal): Avoid compiler warning.
|
|
|
|
|
2005-05-17 09:27:31 +08:00
|
|
|
2005-05-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (dll_crt0_0): Don't do fixup_after_exec if dynamically
|
|
|
|
loaded since the state of fds is unknown at this point.
|
|
|
|
|
2005-05-17 09:21:06 +08:00
|
|
|
2005-05-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/sys/cygwin.h (enum cygwin_getinfo_types): Add CW_DEBUG_SELF.
|
|
|
|
* external.cc (cygwin_internal): Implement CW_DEBUG_SELF.
|
|
|
|
|
|
|
|
* init.cc (dll_entry): Minor rearrangement of code.
|
|
|
|
|
2005-05-17 09:08:58 +08:00
|
|
|
2005-05-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Remove embedded dots before slashes.
|
|
|
|
|
2005-05-16 23:48:36 +08:00
|
|
|
2005-05-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* environ.cc (conv_envvars): Remove LD_LIBRARY_PATH entirely.
|
|
|
|
It doesn't belong here.
|
|
|
|
|
2005-05-15 20:04:13 +08:00
|
|
|
2005-05-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* environ.cc (conv_envvars): Treat LD_LIBRARY_PATH as path list.
|
|
|
|
|
2005-05-15 05:12:10 +08:00
|
|
|
2005-05-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Check
|
|
|
|
return code from GetFileSize and set file size to 0 if necessary.
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::fstat): Set permissions
|
|
|
|
to read/execute for all.
|
|
|
|
|
2005-05-14 05:05:46 +08:00
|
|
|
2005-05-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (normalize_posix_path): Do normalization on . and .. after
|
|
|
|
a '//'.
|
|
|
|
|
2005-05-14 04:29:31 +08:00
|
|
|
2005-05-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_netdrive::readdir): Remove useless comment.
|
|
|
|
|
2005-05-14 04:20:02 +08:00
|
|
|
2005-05-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* autoload.cc (WNetGetResourceParentA): Import.
|
|
|
|
(WNetOpenEnumA): Import.
|
|
|
|
(WNetEnumResourceA): Import.
|
|
|
|
(WNetCloseEnum): Import.
|
|
|
|
* fhandler.h (fhandler_netdrive::telldir): Add declaration.
|
|
|
|
(fhandler_netdrive::seekdir): Ditto.
|
|
|
|
(fhandler_netdrive::closedir): Ditto.
|
|
|
|
* fhandler_netdrive.cc: Drop explicit including windows.h. Include
|
|
|
|
winnetwk.h instead of shlwapi.h. Include dirent.h.
|
|
|
|
(fhandler_netdrive::readdir): Implement.
|
|
|
|
(fhandler_netdrive::telldir): New method.
|
|
|
|
(fhandler_netdrive::seekdir): New method.
|
|
|
|
(fhandler_netdrive::closedir): Ditto.
|
|
|
|
|
2005-05-13 23:46:07 +08:00
|
|
|
2005-05-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
Remove PC_FULL from path_conv usage throughout.
|
2005-05-14 06:40:19 +08:00
|
|
|
* path.h (enum pathconv_arg): Change PC_FULL to PC_NOFULL.
|
2005-05-13 23:46:07 +08:00
|
|
|
* path.cc (path_conv::check): Test for PC_NOFULL rather than !PC_FULL.
|
|
|
|
(cygwin_conv_to_win32_path): Use PC_NOFULL to force non-absolute path.
|
|
|
|
|
2005-05-13 21:23:38 +08:00
|
|
|
2005-05-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::exists): Assert that "//"
|
|
|
|
exists.
|
|
|
|
|
2005-05-13 11:21:39 +08:00
|
|
|
2005-05-12 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.cc (_cygtls::remove): Eliminate compiler warning.
|
|
|
|
|
|
|
|
* dir.cc (mkdir): Check path for writability.
|
|
|
|
(rmdir): Ditto. Remove check for special directories.
|
|
|
|
* path.cc (path_conv::check): Set PATH_RO for virtual devices. Set
|
|
|
|
error if read-only and asked for writability.
|
|
|
|
* path.h (pathconv_arg): Add PC_WRITABLE.
|
|
|
|
(path_types): Add PATH_RO.
|
|
|
|
(path_conv::isro): Add (currently unused) check for read-only
|
|
|
|
filesystem. Return "ENOSHARE" when we know a share doesn't exist.
|
|
|
|
* include/sys/mount.h: Add MOUNT_RO flag.
|
|
|
|
* autoload.cc (WNetGetResourceInformationA): Import.
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::exists): Detect actual
|
|
|
|
existence of remote system rather than always assuming that it exists.
|
|
|
|
|
2005-05-12 05:53:54 +08:00
|
|
|
2005-05-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (do_global_dtors): Don't call dll_global_dtors here.
|
|
|
|
(__main): Reinstate atexit of do_global_dtors.
|
|
|
|
(cygwin_exit): Call dll_global_dtors here.
|
|
|
|
(do_exit): And here.
|
|
|
|
|
|
|
|
|
2005-05-11 11:33:38 +08:00
|
|
|
2005-05-10 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.cc (_cygtls::remove): Clear exitsock after close.
|
|
|
|
* fhandler_console.cc (fhandler_console::write_normal): Store character
|
|
|
|
in a local variable for potential future inspection.
|
|
|
|
|
2005-05-11 04:56:07 +08:00
|
|
|
2005-05-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* Makefile.in (DLL_OFILES): Add fhandler_mailslot.o.
|
|
|
|
* devices.h (FH_KMSG): Define new device.
|
|
|
|
* devices.in: Add "/dev/kmsg" entry.
|
|
|
|
* devices.cc: Regenerate.
|
|
|
|
* dtable.cc (build_fh_pc): Handle case FH_KMSG.
|
|
|
|
* fhandler.h (class fhandler_mailslot): New class.
|
|
|
|
(class select_stuff): Add device_specific_mailslot pointer.
|
|
|
|
* fhandler_mailslot.cc: New file.
|
|
|
|
* select.cc (peek_mailslot): New function.
|
|
|
|
(verify_mailslot): Ditto.
|
|
|
|
(struct mailslotinf): New stuct to handle select on mailslots.
|
|
|
|
(thread_mailslot): New function.
|
|
|
|
(start_thread_mailslot): Ditto.
|
|
|
|
(mailslot_cleanup): Ditto.
|
|
|
|
(fhandler_mailslot::select_read): New method.
|
|
|
|
* syslog.cc (klog_guard): New muto.
|
|
|
|
(dev_kmsg): Local mailslot for kernel message device.
|
|
|
|
(vklog): New function.
|
|
|
|
(klog): Ditto.
|
|
|
|
* winsup.h (vklog): Declare.
|
|
|
|
(klog): Ditto.
|
|
|
|
* include/sys/syslog.h: Define _PATH_KLOG.
|
|
|
|
|
2005-05-11 00:08:46 +08:00
|
|
|
2005-05-10 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (dll_crt0_1): Call cygwin_exit to ensure that destructors
|
|
|
|
are handled correctly.
|
|
|
|
|
2005-05-10 17:08:20 +08:00
|
|
|
2005-05-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Set correct file attributes for socket
|
|
|
|
files.
|
|
|
|
|
2005-05-09 10:39:34 +08:00
|
|
|
2005-05-09 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_netdrive): New class.
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::fhandler_netdrive): New constructor.
|
|
|
|
(fhandler_netdrive::exists): New method.
|
|
|
|
(fhandler_netdrive::fstat): Ditto.
|
|
|
|
(fhandler_netdrive::readdir): Ditto.
|
|
|
|
(fhandler_netdrive::open): Ditto.
|
|
|
|
* dtable.cc (build_fh_pc): Handle case FH_NETDRIVE.
|
|
|
|
* path.cc (isvirtual_dev): Add FH_NETDRIVE.
|
|
|
|
(mount_info::conv_to_win32_path): Detect netdrive device and bypass mount
|
|
|
|
search for network paths.
|
|
|
|
|
2005-05-09 09:19:38 +08:00
|
|
|
2005-05-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (get_cygwin_startup_info): New function pulled from
|
|
|
|
dll_crt0_0.
|
|
|
|
(dll_crt0_0): Use get_cygwin_startup_info to retrieve cygwin-specific
|
|
|
|
startup pointer.
|
|
|
|
* external.cc (cygwin_internal): Implement CW_ARGV and CW_ENVP.
|
|
|
|
* include/sys/cygwin.h: Implement CW_ARGV and CW_ENVP.
|
|
|
|
|
2005-05-08 05:06:08 +08:00
|
|
|
2005-05-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (normalize_posix_path): Don't treat '//' specially since
|
|
|
|
newer versions of bash now get this right.
|
|
|
|
|
2005-05-08 04:20:51 +08:00
|
|
|
2005-05-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* devices.cc: Regenerate with correct name for dev_netdrive_storage.
|
|
|
|
|
2005-05-06 12:06:17 +08:00
|
|
|
2005-05-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* Makefile.in (DLL_O_FILES): Add fhandler_netdrive.o.
|
|
|
|
* fhandler_netdrive.cc: Placeholder file for future development.
|
|
|
|
* devices.h (FH_NETDRIVE): Define new virtual device type.
|
|
|
|
(netdrive_dev): Define.
|
|
|
|
* devices.in (dev_netdrive_storage): Define.
|
|
|
|
* devices.cc: Regenerate.
|
|
|
|
|
2005-05-04 19:05:11 +08:00
|
|
|
2005-05-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygerrno.h (__set_errno): Remove useless parentheses.
|
|
|
|
|
2005-05-04 19:00:22 +08:00
|
|
|
2005-05-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygerrno.h (__set_errno): Define as inline function here.
|
|
|
|
(set_errno): Always define as call to __set_errno.
|
|
|
|
* debug.cc (__set_errno): Move to cygerrno.h.
|
|
|
|
|
2005-05-04 09:14:47 +08:00
|
|
|
2005-05-03 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* shared.cc (user_shared_initialize): Rework locking so that nothing is
|
|
|
|
checked until cb is non-zero.
|
|
|
|
|
2005-05-04 03:03:20 +08:00
|
|
|
2005-05-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Don't treat
|
|
|
|
inability to open file as failure if only SetFileAttributes is
|
|
|
|
going to be called. Only call set_file_attribute if really necessary.
|
|
|
|
|
2005-05-03 22:07:19 +08:00
|
|
|
2005-05-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (get_inet_addr): Add missing __seterrno call.
|
|
|
|
|
2005-05-02 08:17:45 +08:00
|
|
|
2005-05-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::read): Actually read input when
|
|
|
|
vmin == vtime == 0.
|
|
|
|
|
2005-05-01 01:07:05 +08:00
|
|
|
2005-04-30 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (spenv::force_into_environment): Rename from add_always.
|
|
|
|
(spenv::add_if_exists): Rename from force.
|
|
|
|
(build_env): Accommodate name changes. Make sure that stuff that is
|
|
|
|
always supposed to be in the environment is actually added to the
|
|
|
|
environment.
|
|
|
|
|
|
|
|
* shared.cc (open_shared): Restore VirtualFree eliminated by 2005-04-28
|
|
|
|
change.
|
|
|
|
|
2005-04-30 12:10:39 +08:00
|
|
|
2005-04-30 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* errno.cc (errmap): Sort table.
|
|
|
|
|
2005-04-30 11:40:26 +08:00
|
|
|
2005-04-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* errno.cc (errmap): Map ERROR_NETNAME_DELETED to ENOSHARE.
|
|
|
|
|
2005-04-29 07:59:44 +08:00
|
|
|
2005-04-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* shared_info.h (cygwin_shared_address): Bump to a higher value to avoid
|
|
|
|
collision with large data areas.
|
|
|
|
|
|
|
|
2005-04-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_console.cc (fhandler_console::get_tty_stuff): Accommodate
|
|
|
|
changes to open_shared arguments.
|
|
|
|
* fhandler_tape.cc (mtinfo_init): Ditto.
|
|
|
|
* pinfo.cc (pinfo::init): Use open_shared rather than win32 mmap calls.
|
|
|
|
* shared.cc (user_shared_initialize): Ditto.
|
|
|
|
(memory_init): Ditto.
|
|
|
|
(open_shared): Change to allow use a smore general mmap handler.
|
|
|
|
* shared_info.h (shared_locations): Add SH_JUSTCREATE, SH_JUSTOPEN.
|
|
|
|
(open_shared): Change declaration to match new usage.
|
|
|
|
|
|
|
|
* autoload.cc (LoadDLLfuncEx2): Define in terms of LoadDLLfuncEx3.
|
|
|
|
(LoadDLLfuncEx3): New macro.
|
|
|
|
|
2005-04-28 11:33:19 +08:00
|
|
|
2005-04-27 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.cc (fhandler_base::open_9x): Remove (broken) check for
|
|
|
|
O_CREAT|O_EXCL.
|
|
|
|
* syscalls.cc (open): Do O_CREAT|O_EXCL check here first.
|
|
|
|
|
2005-04-27 11:09:59 +08:00
|
|
|
2005-04-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (build_env): Ensure that win32 array is properly filled in
|
|
|
|
when a missing value has to be generated.
|
|
|
|
|
2005-04-27 01:27:40 +08:00
|
|
|
2005-04-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number to 17.
|
|
|
|
|
2005-04-25 13:03:53 +08:00
|
|
|
2005-04-24 Pavel Tsekov <ptsekov@gmx.net>
|
|
|
|
|
|
|
|
* how-to-debug-cygwin.txt: Fix typo.
|
|
|
|
|
2005-04-23 11:24:21 +08:00
|
|
|
2005-04-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* shared.cc (user_shared_initialize): Implement locking similar to
|
|
|
|
shared_info when initializing shared region.
|
|
|
|
|
2005-04-23 01:03:38 +08:00
|
|
|
2005-04-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.h (dev_console::set_color): Define new function.
|
|
|
|
(dev_console::set_default_attr): Ditto, moved from fhandler_console.
|
|
|
|
(dev_console::fillin_info): Ditto. Accommodate this change throughout
|
|
|
|
this file.
|
|
|
|
(fhandler_console::get_win32_attr): Eliminate.
|
|
|
|
* fhandler_console.cc (fhandler_console::get_tty_stuff): Properly set
|
|
|
|
default attributes on initialization.
|
|
|
|
(fhandler_console::open): Set current attributes rather than default
|
|
|
|
color on open.
|
|
|
|
(fhandler_console::get_win32_attr): Eliminate.
|
|
|
|
(dev_console::set_color): New function. Move get_win32_attr stuff
|
|
|
|
here.
|
|
|
|
(dev_console::set_default_attr): New function, moved from
|
|
|
|
fhandler_console.
|
|
|
|
(dev_console::fillin_info): Ditto.
|
|
|
|
(fhandler_console::char_command): Call set_color to set screen
|
|
|
|
characteristics.
|
|
|
|
|
2005-04-22 21:58:09 +08:00
|
|
|
2005-04-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.cc (fhandler_base::read): Remove unused signal state tweaks.
|
|
|
|
* fhandler.h (fhandler_pipe::create_selectable): Declare.
|
|
|
|
(fhandler_fifo::close_one_end): Declare.
|
|
|
|
* fhandler_fifo.cc (fhandler_fifo::close_one_end): Define.
|
|
|
|
(fhandler_fifo::open_not_mine): Use close_one_end to close appropriate
|
|
|
|
end of pipe.
|
|
|
|
* pinfo.cc (_pinfo::commune_recv): Ditto.
|
|
|
|
* pipe.cc (fhandler_pipe::create_selectable): Rename from
|
|
|
|
create_selectable_pipe. Reorganize.
|
|
|
|
(fhandler_pipe::create): Use create_selectable.
|
|
|
|
|
2005-04-22 07:53:49 +08:00
|
|
|
2005-04-21 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* shared.cc (shared_info::initialize): Test previous version of shared
|
|
|
|
memory magic rather than current version when determining if there has
|
|
|
|
been a shared memory mismatch.
|
|
|
|
|
2005-04-21 04:43:36 +08:00
|
|
|
2005-04-20 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (proc_subproc): Fix handling of waiting for pids with zero
|
|
|
|
value.
|
|
|
|
|
|
|
|
* strace.cc (strace::hello): Report parent pid of executing process.
|
|
|
|
|
2005-04-21 02:25:14 +08:00
|
|
|
2005-04-20 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Fix problem reading symlinks introduced
|
|
|
|
in below change by reverting the change and adding an additional test
|
|
|
|
for nonexistent files in /proc.
|
|
|
|
|
2005-04-20 12:06:25 +08:00
|
|
|
2005-04-20 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Punt when attempting to access a
|
|
|
|
nonexistent directory or file in /proc.
|
|
|
|
|
2005-04-19 18:10:13 +08:00
|
|
|
2005-04-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* security.cc (alloc_sd): Remove DELETE bit from user's ACE if
|
|
|
|
allow_traverse is set.
|
|
|
|
|
2005-04-19 16:32:59 +08:00
|
|
|
2005-04-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (pselect): Export.
|
|
|
|
* select.cc (pselect): New function.
|
|
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
* include/sys/select.h: Include signal.h. Declare pselect.
|
|
|
|
|
2005-04-19 02:56:52 +08:00
|
|
|
2005-04-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (enum conn_state): Add connect_failed state.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::connect): Set connect_state to
|
|
|
|
connect_failed when connect failed.
|
|
|
|
* poll.cc (poll): Change errno to EINVAL if allocating memory fails,
|
|
|
|
according to SUSv3. Add socket descriptors always to except_fds. Test
|
|
|
|
for failed connect and set revents flags appropriately.
|
|
|
|
* select.cc (set_bits): Set connect_state to connect_failed when
|
|
|
|
select indicates failed nonblocking connect.
|
|
|
|
(fhandler_dev_null::select_except): Set except_ready to false so that
|
|
|
|
/dev/null is not always in except state.
|
|
|
|
(peek_socket): Fix bogus conditional.
|
|
|
|
(fhandler_socket::select_write): Treat all connect_states except
|
|
|
|
unconnected equivalent to return consistent results.
|
|
|
|
(fhandler_windows::select_except): Set except_ready to false so that
|
|
|
|
/dev/windows is not always in except state.
|
|
|
|
|
2005-04-19 01:25:04 +08:00
|
|
|
2005-04-18 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number to 16.
|
|
|
|
|
2005-04-19 00:03:08 +08:00
|
|
|
2005-04-18 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* grp.cc (initgroups32): Return the correct value.
|
|
|
|
|
2005-04-17 01:17:33 +08:00
|
|
|
2005-04-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::utimes_fs): Ignore
|
|
|
|
ERROR_NOT_SUPPORTED to workaround Win9x weirdness.
|
|
|
|
* path.cc (symlink_info::check): Remap ERROR_INVALID_FUNTION to
|
|
|
|
ERROR_FILE_NOT_FOUND for the same reason.
|
|
|
|
|
2005-04-16 23:21:47 +08:00
|
|
|
2005-04-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* security.h (cygsidlist::addfromgr): Allow duplicate entries.
|
|
|
|
(get_server_groups): Declare new function.
|
|
|
|
* security.cc (is_group_member): Simplify.
|
|
|
|
(get_server_groups): New function.
|
|
|
|
(get_initgroups_sidlist): Call get_server_groups.
|
|
|
|
(verify_token): Allow token when supplementary sids are not in
|
|
|
|
/etc/group but are in the token.
|
|
|
|
Streamline the code.
|
|
|
|
* grp.cc (initgroups32): New implementation.
|
|
|
|
(getgroups32): Handle case where the supplementary groups are set.
|
|
|
|
|
2005-04-16 21:11:40 +08:00
|
|
|
2005-04-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* environ.cc (environ_init): Don't set traverse checking as default.
|
|
|
|
|
2005-04-16 20:53:48 +08:00
|
|
|
2005-04-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::utimes_fs): Drop touching
|
|
|
|
ChangeTime.
|
|
|
|
|
2005-04-16 13:20:01 +08:00
|
|
|
2005-04-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.cc (fhandler::dup): Duplicate flags, too.
|
|
|
|
* fhandler.h (fhandler_fifo::owner): Eliminate.
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::fstat_fs): Handle on-disk
|
|
|
|
devices better.
|
|
|
|
(fhandler_base::fstat_helper): Ditto.
|
|
|
|
* fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Don't initialize
|
|
|
|
obsolete "owner".
|
|
|
|
(fhandler_fifo::open_not_mine): Add some debugging. Duplicate correct
|
|
|
|
handle when we own it.
|
|
|
|
(fhandler_fifo::open): Set flags from input, not from first pipe. Flag
|
|
|
|
that fork fixup is needed.
|
|
|
|
(fhandler_fifo::dup): Set errno correctly when DuplicateHandle fails.
|
|
|
|
* pinfo.cc (commune_send): Add debugging for fifo.
|
|
|
|
|
|
|
|
* cygwin/version.h: Bump API minor version to 127 to reflect exporting
|
|
|
|
of sigrelese.
|
|
|
|
|
2005-04-15 16:19:07 +08:00
|
|
|
2005-04-14 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
|
|
|
|
* syscalls.cc (setuid32): Correct debugging output.
|
|
|
|
|
2005-04-15 01:34:03 +08:00
|
|
|
2005-04-14 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (do_global_dtors): Run DLL dtors.
|
|
|
|
(__main): Don't rely on atexit to run dtors.
|
|
|
|
(do_exit): Specifically call do_global_dtors here.
|
|
|
|
(cygwin_exit): Ditto.
|
|
|
|
* dll_init.cc (dll_global_dtors): Make global. Only run dtors once.
|
|
|
|
(dll_list::init): Just set flag that dtors should be run. Don't rely on atexit.
|
|
|
|
* dll_init.h (dll_global_dtors): Declare.
|
|
|
|
|
|
|
|
* exceptions.cc (sigrelse): Define.
|
|
|
|
|
|
|
|
* path.h (is_fs_device): New method.
|
|
|
|
(is_lnk_special): Ditto.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::link): Use
|
|
|
|
"is_lnk_special" rather than "is_lnk_symlink".
|
|
|
|
* syscalls.cc (rename): Ditto.
|
|
|
|
|
|
|
|
* hookapi.cc (ld_preload): Use colon as a separator rather than space.
|
|
|
|
|
2005-04-14 01:13:41 +08:00
|
|
|
2005-04-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_socket): Remove utimes.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::utimes): Remove.
|
|
|
|
|
2005-04-14 00:41:33 +08:00
|
|
|
2005-04-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygerrno.h (__seterrno_from_nt_status): Define. Always set Win32
|
|
|
|
error code as well as errno. Use throughout where errno is set from
|
|
|
|
NT status.
|
|
|
|
(set_errno): Evaluate val only once.
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Fix typo in
|
|
|
|
debug output.
|
|
|
|
* fhandler_mem.cc (fhandler_dev_mem::open): Rely on
|
|
|
|
__seterrno_from_nt_status setting Win32 error code in debug output.
|
|
|
|
* fhandler_proc.cc (format_proc_uptime): Ditto.
|
|
|
|
(format_proc_stat): Ditto.
|
|
|
|
* fhandler_process.cc (format_process_stat): Ditto.
|
|
|
|
* sysconf.cc (sysconf): Ditto.
|
|
|
|
|
2005-04-14 00:17:37 +08:00
|
|
|
2005-04-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_base::utimes_fs): New method.
|
|
|
|
* fhandler.cc (fhandler_base::utimes): Call utimes_fs if on-disk
|
|
|
|
special file.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::utimes): Use utimes_fs.
|
|
|
|
(fhandler_base::utimes_fs): Handle on-disk device files.
|
|
|
|
|
2005-04-13 19:07:44 +08:00
|
|
|
2005-04-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::utimes): Don't set errno
|
|
|
|
if open fails, it has already been set by open.
|
|
|
|
|
2005-04-12 22:26:31 +08:00
|
|
|
2005-04-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* autoload.cc (NtQueryVolumeInformationFile): Add.
|
|
|
|
* fhandler.cc (fhandler_base::raw_write): Don't touch has_changed flag.
|
|
|
|
* fhandler.h (enum change_state): Remove.
|
|
|
|
(fhandler_base::status): Revert has_changed to a simple bit.
|
|
|
|
(fhandler_base::fstat_helper): Add nAllocSize parameter. Rename
|
|
|
|
ftCreationTime to ftChangeTime.
|
2005-04-13 19:07:44 +08:00
|
|
|
* fhandler_disk_file.cc: Call fstat_helper with additional
|
2005-04-12 22:26:31 +08:00
|
|
|
allocation size throughout.
|
|
|
|
(fhandler_base::fstat_by_handle): Use NT native functions to get
|
|
|
|
full file information on NT. Call fstat_helper with LastWriteTime
|
|
|
|
as ctime, if ChangeTime is not available.
|
|
|
|
(fhandler_base::fstat_by_name): Call fstat_helper with LastWriteTime
|
|
|
|
as ctime.
|
|
|
|
(fhandler_base::fstat_helper): Add comment. Drop special FAT
|
|
|
|
handling since it's useless. Use nAllocSize for st_blocks if available.
|
|
|
|
(fhandler_disk_file::touch_ctime): Only touch LastWriteTime.
|
|
|
|
(fhandler_disk_file::fchmod): Set has_changed on 9x only.
|
|
|
|
(fhandler_disk_file::fchown): Don't set has_changed.
|
|
|
|
(fhandler_disk_file::facl): Ditto.
|
|
|
|
(fhandler_disk_file::ftruncate): Ditto.
|
|
|
|
(fhandler_disk_file::link): Set has_changed on 9x only and on original
|
|
|
|
file only.
|
|
|
|
(fhandler_base::open_fs): Don't set has_changed in O_TRUNC case.
|
|
|
|
* ntdll.h (FILE_BASIC_INFORMATION): Define.
|
|
|
|
(FILE_STANDARD_INFORMATION): Define.
|
|
|
|
(FILE_INTERNAL_INFORMATION): Define.
|
|
|
|
(FILE_EA_INFORMATION): Define.
|
|
|
|
(FILE_ACCESS_INFORMATION): Define.
|
|
|
|
(FILE_POSITION_INFORMATION): Define.
|
|
|
|
(FILE_MODE_INFORMATION): Define.
|
|
|
|
(FILE_ALIGNMENT_INFORMATION): Define.
|
|
|
|
(FILE_NAME_INFORMATION): Don't define with arbitrary FileName size.
|
|
|
|
(FILE_ALL_INFORMATION): Define.
|
|
|
|
(FILE_INFORMATION_CLASS): Add FileAllInformation.
|
|
|
|
(FILE_FS_VOLUME_INFORMATION): Define.
|
|
|
|
(FS_INFORMATION_CLASS): Define.
|
|
|
|
(NtQueryVolumeInformationFile): Define.
|
|
|
|
|
2005-04-12 05:54:54 +08:00
|
|
|
2005-04-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
Revert previous patch.
|
|
|
|
* autoload.cc (GetVolumePathNamesForVolumeNameA): Remove.
|
2005-04-12 05:56:08 +08:00
|
|
|
(GetVolumeNameForVolumeMountPointA): Add.
|
2005-04-12 05:54:54 +08:00
|
|
|
* syscalls.cc (sync): Rewrite guid case to skip floppies also on
|
|
|
|
Windows 2000.
|
|
|
|
|
2005-04-12 04:44:45 +08:00
|
|
|
2005-04-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* syscalls.cc (sync): Use renamed has_get_volume_pathnames wincap.
|
|
|
|
* wincap.h (wincaps::has_get_volume_pathnames): Rename from
|
|
|
|
has_guid_volumes
|
|
|
|
* wincap.cc: Accomodate above rename throughout. Set to false on
|
|
|
|
Windows 2000.
|
|
|
|
|
2005-04-09 03:57:36 +08:00
|
|
|
2005-04-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pipe.cc (fhandler_pipe::open): Remove O_CREAT limitation.
|
|
|
|
|
2005-04-08 04:42:20 +08:00
|
|
|
2005-04-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* syslog.cc (try_connect_guard): Remove useless conditionalized code.
|
|
|
|
|
2005-04-08 04:16:46 +08:00
|
|
|
2005-04-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* syslog.cc: Include sys/socket.h.
|
|
|
|
(try_connect_guard): New static variable.
|
|
|
|
(syslogd_inited): Ditto.
|
|
|
|
(syslogd_sock): Ditto.
|
|
|
|
(try_connect_syslogd): New function to connect and write syslog to
|
|
|
|
local syslogd.
|
|
|
|
(vsyslog): Log to stderr if LOG_PERROR flag has been given to openlog.
|
|
|
|
Try logging to syslogd. Use Event Log resp. log file as fallback.
|
|
|
|
(closelog): Close socket to syslogd.
|
|
|
|
* include/sys/syslog.h (_PATH_LOG): Define.
|
|
|
|
(INTERNAL_NOPRI): Define if SYSLOG_NAMES is defined.
|
|
|
|
(INTERNAL_MARK): Ditto.
|
|
|
|
(struct _code): Ditto.
|
|
|
|
(prioritynames): Ditto.
|
|
|
|
(facilitynames): Ditto.
|
|
|
|
|
2005-04-07 02:50:13 +08:00
|
|
|
2005-04-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (get_inet_addr): Add type parameter to return
|
|
|
|
unix socket type. Read socket type from unix socket file.
|
|
|
|
(fhandler_socket::bind): Write socket type to unix socket file.
|
|
|
|
(fhandler_socket::connect): Return with errno EPROTOTYPE if
|
|
|
|
socket type of socket doesn't match socket type of unix socket
|
|
|
|
trying to connect to.
|
|
|
|
|
2005-04-06 20:35:52 +08:00
|
|
|
2005-04-06 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* security.h (cygsidlist::addfromgr): Avoid duplicate entries.
|
|
|
|
* grp.cc (initgrousp): Add syscall_printf.
|
|
|
|
(setgroups): Add syscall_printf and make sure sids are added only once.
|
|
|
|
|
2005-04-06 13:48:55 +08:00
|
|
|
2005-04-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* net.cc (cygwin_getservbyname): Return (possibly NULL) return value of
|
|
|
|
dup_ent rather than assuming that tls buffer is valid.
|
|
|
|
(cygwin_getservbyport): Ditto.
|
|
|
|
(cygwin_gethostbyname): Ditto.
|
|
|
|
(cygwin_gethostbyaddr): Ditto.
|
|
|
|
|
2005-04-06 01:13:35 +08:00
|
|
|
2005-04-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.cc (_cygtls::remove): Don't free or close stuff if we're being
|
|
|
|
called in a "non-standard" way.
|
|
|
|
|
2005-04-05 14:04:57 +08:00
|
|
|
2005-04-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sync.h (muto::initforce): Delete flawed implementation.
|
|
|
|
* pwdgrp.h (pwdgrp::pglock): Make static.
|
|
|
|
* grp.cc (pwdgrp::pwdgrp): Eliminate use of initforce.
|
|
|
|
|
2005-04-05 12:48:02 +08:00
|
|
|
2005-04-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sync.h (muto::initforce): Force initialization even when name !=
|
|
|
|
NULL.
|
|
|
|
* grp.cc (pwdgrp::pwdgrp): Use initforce since the enclosing structure
|
|
|
|
is !NO_COPY.
|
|
|
|
|
2005-04-05 12:31:00 +08:00
|
|
|
2005-04-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sync.h (muto::operator int): New operator.
|
|
|
|
(locker): Remove unused class.
|
|
|
|
(new_muto): Delete.
|
|
|
|
(new_muto1): Ditto.
|
|
|
|
(new_muto_name): Ditto.
|
|
|
|
* cygheap.cc (cygheap_setup_for_child): Reflect use of static storage
|
|
|
|
for muto rather than pointer.
|
|
|
|
(_csbrk): Ditto.
|
|
|
|
(_cmalloc): Ditto.
|
|
|
|
(_cmalloc): Ditto.
|
|
|
|
(_cfree): Ditto.
|
|
|
|
* cygheap.h (cwdstuff::cwd_lock): Ditto.
|
|
|
|
(cwdstuff::get_drive): Ditto.
|
|
|
|
* cygmalloc.h (__malloc_lock): Ditto.
|
|
|
|
(__malloc_unlock): Ditto.
|
|
|
|
* cygtls.cc (sentry::lock): Ditto.
|
|
|
|
(sentry::sentry): Ditto.
|
|
|
|
(~sentry): Ditto.
|
|
|
|
(_cygtls::init): Ditto.
|
|
|
|
* dcrt0.cc: Ditto.
|
|
|
|
(cygwin_atexit): Ditto.
|
|
|
|
(cygwin_exit): Ditto.
|
|
|
|
* debug.cc (lock_debug::locker): Ditto.
|
|
|
|
(lock_debug::lock_debug): Ditto.
|
|
|
|
(lock_debug::unlock): Ditto.
|
|
|
|
(debug_init): Ditto.
|
|
|
|
* dtable.cc (dtable::init_lock): Ditto.
|
|
|
|
* dtable.h (dtable::lock_cs): Ditto.
|
|
|
|
(dtable::lock): Ditto.
|
|
|
|
(dtable::unlock): Ditto.
|
|
|
|
* exceptions.cc (mask_sync): Ditto.
|
|
|
|
(sighold): Ditto.
|
|
|
|
(set_process_mask_delta): Ditto.
|
|
|
|
(set_signal_mask): Ditto.
|
|
|
|
(events_init): Ditto.
|
|
|
|
* grp.cc (pwdgrp::pwdgrp): Ditto.
|
|
|
|
* malloc_wrapper.cc (mallock): Ditto.
|
|
|
|
(malloc_init): Ditto.
|
|
|
|
* path.cc (cwdstuff::cwd_lock): Ditto.
|
|
|
|
(cwdstuff::get_hash): Ditto.
|
|
|
|
(cwdstuff::get_hash): Ditto.
|
|
|
|
(cwdstuff::init): Ditto.
|
|
|
|
(cwdstuff::set): Ditto.
|
|
|
|
(cwdstuff::get): Ditto.
|
|
|
|
* pwdgrp.h (pwdgrp::pglock): Ditto.
|
|
|
|
(pwdgrp::refresh): Ditto.
|
|
|
|
* sigproc.cc (sync_proc_subproc): Ditto.
|
|
|
|
(get_proc_lock): Ditto.
|
|
|
|
(proc_subproc): Ditto.
|
|
|
|
(_cygtls::remove_wq): Ditto.
|
|
|
|
(proc_terminate): Ditto.
|
|
|
|
(sigproc_init): Ditto.
|
|
|
|
* timer.cc (lock_timer_tracker::protect): Ditto.
|
|
|
|
(lock_timer_tracker::lock_timer_tracker): Ditto.
|
|
|
|
(lock_timer_tracker::~lock_timer_tracker): Ditto.
|
|
|
|
* wininfo.cc (wininfo::_lock;): Ditto.
|
|
|
|
(wininfo::winthread): Ditto.
|
|
|
|
(operator HWND): Ditto.
|
|
|
|
(wininfo::lock): Ditto.
|
|
|
|
(wininfo::release): Ditto.
|
|
|
|
* wininfo.h (wininfo::_lock;): Ditto.
|
|
|
|
|
2005-04-05 00:07:36 +08:00
|
|
|
2005-04-04 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Only check for PC_NO_ACCESS_CHECK in end
|
|
|
|
component.
|
|
|
|
|
2005-04-04 18:26:35 +08:00
|
|
|
2005-04-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* dcrt0.cc (dll_crt0_1): Don't call set_cygwin_privileges on 9x.
|
|
|
|
|
|
|
|
* fhandler.h (enum change_state): Add.
|
|
|
|
(fhandler_base::status): Add a bit to has_changed flag.
|
|
|
|
(fhandler_base::has_changed): Implement with type change_state.
|
2005-04-05 12:31:00 +08:00
|
|
|
* fhandler.cc (fhandler_base::raw_write): Accommodate type change
|
2005-04-04 18:26:35 +08:00
|
|
|
of has_changed.
|
2005-04-13 19:07:44 +08:00
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::touch_ctime): Also
|
2005-04-04 18:26:35 +08:00
|
|
|
touch modification time if has_changed == data_changed.
|
|
|
|
(fhandler_disk_file::fchmod): Also open on 9x, otherwise we can't
|
2005-04-05 12:31:00 +08:00
|
|
|
touch ctime. Accommodate type change of has_changed.
|
|
|
|
(fhandler_disk_file::fchown): Accommodate type change of has_changed.
|
2005-04-04 18:26:35 +08:00
|
|
|
(fhandler_disk_file::facl): Ditto.
|
|
|
|
(fhandler_disk_file::ftruncate): Ditto.
|
|
|
|
(fhandler_disk_file::link): Ditto.
|
|
|
|
(fhandler_base::open_fs): Ditto.
|
|
|
|
|
2005-04-03 21:06:43 +08:00
|
|
|
2005-04-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
2005-04-05 12:31:00 +08:00
|
|
|
* cygheap.cc (cygheap_init): Accommodate set_process_privilege change.
|
2005-04-03 21:06:43 +08:00
|
|
|
* cygheap.h (cygheap_user::curr_primary_token): New member.
|
|
|
|
(cygheap_user::primary_token): New method.
|
|
|
|
(cygheap_user::deimpersonate): Always revert to processes'
|
|
|
|
impersonation token.
|
|
|
|
(cygheap_user::reimpersonate): Set processes' or setuid token as
|
|
|
|
necessary.
|
|
|
|
(cygheap_user::has_impersonation_tokens): Look for curr_primary_token
|
|
|
|
value.
|
|
|
|
(cygheap_user::close_impersonation_tokens): Close curr_primary_token
|
|
|
|
here if necessary. Don't reset token values to NO_IMPERSONATION since
|
|
|
|
that's done in uinfo_init anyway.
|
|
|
|
(init_cygheap::luid): New LUID array keeping privilege LUIDs.
|
|
|
|
* cygtls.cc (_cygtls::init_thread): Call cygheap->user.reimpersonate.
|
|
|
|
* dcrt0.cc (hProcToken): New global variable to keep process token.
|
|
|
|
(hProcImpToken): Ditto for process impersonation token.
|
|
|
|
(dll_crt0_0): Open process token here once. Duplicate to create
|
|
|
|
hProcImpToken.
|
|
|
|
(dll_crt0_1): Call set_cygwin_privileges.
|
|
|
|
* environ.cc (allow_ntea): Drop duplicate declaration.
|
|
|
|
(allow_smbntsec): Ditto.
|
|
|
|
(set_traverse): Only set allow_traverse here.
|
|
|
|
(environ_init): Ditto.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Drop call to
|
|
|
|
enable_restore_privilege.
|
|
|
|
(fhandler_disk_file::fchown): Ditto.
|
|
|
|
(fhandler_disk_file::facl): Ditto.
|
|
|
|
* fork.cc (fork_child): Move call to cygheap->user.reimpersonate after
|
|
|
|
syn with parent. Call set_cygwin_privileges.
|
|
|
|
* grp.cc (internal_getgroups): Use hProcImpToken instead of opening
|
|
|
|
process token.
|
|
|
|
* path.cc (fs_info::update): Bypass traverse checking when retrieving
|
|
|
|
volume information using push/pop_thread_privileges.
|
|
|
|
* registry.cc (load_registry_hive): Drop setting restore privilege
|
|
|
|
since it's already set if available.
|
|
|
|
* sec_helper.cc: Include cygtls.h.
|
|
|
|
(cygpriv): Privilege string array.
|
|
|
|
(privilege_luid): New function, evaluate LUID from cygpriv_idx.
|
|
|
|
(privilege_luid_by_name): New function, evaluate LUID from privilege
|
|
|
|
string.
|
|
|
|
(privilege_name): New function, evaluate privilege string from
|
|
|
|
cygpriv_idx.
|
|
|
|
(set_privilege): New static function called by set_process_privilege
|
|
|
|
and set_thread_privilege. Call privilege_luid to get privilege LUID.
|
|
|
|
Fix bug in return value evaluation. Improve debug output.
|
|
|
|
(set_cygwin_privileges): New function.
|
|
|
|
(set_process_privilege): Remove.
|
|
|
|
(enable_restore_privilege): Remove.
|
|
|
|
* security.cc (allow_traverse): New global variable.
|
|
|
|
(sys_privs): Change type to cygpriv_idx and store privilege indices
|
|
|
|
instead of strings.
|
|
|
|
(SYSTEM_PRIVILEGES_COUNT): Renamed from SYSTEM_PERMISSION_COUNT.
|
|
|
|
(get_system_priv_list): Don't use numerical constant in malloc call.
|
|
|
|
Use privilege_luid to get privilege LUIDs.
|
|
|
|
(get_priv_list): Call privilege_luid_by_name to get LUIDs. Improve
|
|
|
|
inner privilege LUID comparison loop.
|
|
|
|
(create_token): Enable create token privilege using
|
|
|
|
push/pop_self_privileges. Use hProcToken instead of opening process
|
|
|
|
token. Use default DACL when duplicating token.
|
|
|
|
(subauth): Enable tcb privilege using push/pop_self_privileges.
|
|
|
|
Use sec_none instead of homw made security attributes when duplicating
|
|
|
|
token.
|
|
|
|
(check_file_access): Don't duplicate access token, use active
|
|
|
|
impersonation token as is.
|
|
|
|
* security.h (enum cygpriv_idx): New enumeration type enumerating
|
|
|
|
possible privileges.
|
|
|
|
(privilege_luid): Declare new function.
|
|
|
|
(privilege_luid_by_name): Ditto.
|
|
|
|
(privilege_name): Ditto.
|
|
|
|
(allow_traverse): Declare.
|
|
|
|
(set_privilege): Declare function.
|
|
|
|
(set_process_privilege): Define as macro.
|
|
|
|
(enable_restore_privilege): Remove declaration.
|
|
|
|
(_push_thread_privilege): Define macro.
|
|
|
|
(push_thread_privilege): Ditto.
|
|
|
|
(pop_thread_privilege): Ditto.
|
|
|
|
(pop_self_privilege): Ditto.
|
|
|
|
* spawn.cc (spawn_guts): Use cygheap->user.primary_token instead of
|
|
|
|
cygheap->user.token.
|
|
|
|
* syscalls.cc (statvfs): Bypass traverse checking when retrieving
|
|
|
|
volume information using push/pop_thread_privileges. Rearrange code
|
|
|
|
to simplify push/pop bracketing.
|
|
|
|
(seteuid32): Use hProcToken instead of opening process token. Call
|
|
|
|
cygheap->user.deimpersonate instead of RevertToSelf. Create
|
|
|
|
impersonation token from primary internal or external token. Set
|
|
|
|
cygheap->user.curr_primary_token and cygheap->user.current_token
|
2005-04-09 03:57:36 +08:00
|
|
|
privileges once here. Drop "failed" and "failed_ptok" labels.
|
2005-04-03 21:06:43 +08:00
|
|
|
Drop setting DefaultDacl of process token.
|
|
|
|
(setegid32): Use hProcToken and hProcImpToken instead of opening
|
|
|
|
process token. Always reimpersonate afterwards.
|
|
|
|
* uinfo.cc (cygheap_user::init): Use hProcToken instead of opening
|
|
|
|
process token.
|
|
|
|
(internal_getlogin): Ditto. Set hProcImpToken, too.
|
|
|
|
(uinfo_init): Initialize cygheap->user.curr_primary_token.
|
|
|
|
* winsup.h (hProcToken): Declare.
|
|
|
|
(hProcImpToken): Declare.
|
|
|
|
|
2005-04-03 16:45:21 +08:00
|
|
|
2005-04-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
Unify usage of CYG_MAX_PATH throughout. Change buffers from
|
|
|
|
size CYG_MAX_PATH + 1 to CYG_MAX_PATH. Change length tests
|
|
|
|
accordingly.
|
|
|
|
|
2005-04-03 05:22:52 +08:00
|
|
|
2005-04-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number to 15.
|
|
|
|
|
2005-04-02 00:52:48 +08:00
|
|
|
2005-04-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fork.cc (fork_child): Add missing __stdcall.
|
|
|
|
|
2005-04-01 23:27:52 +08:00
|
|
|
2005-04-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (create_signal_arrive): New (temporary?) function to
|
|
|
|
create signal_arrived event.
|
|
|
|
(sigproc_init): Use create_signal_arrived.
|
|
|
|
* fork.cc (fork_child): Create signal_arrived early.
|
|
|
|
|
2005-04-01 19:47:00 +08:00
|
|
|
2005-04-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fork.cc (fork_child): Fixup SYSV IPC shared memory before fixing
|
|
|
|
up fdtab.
|
|
|
|
|
2005-03-31 23:53:57 +08:00
|
|
|
2005-03-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* gentls_offsets: Add '-m32' flag to native compiler call to satisfy
|
|
|
|
cross platform builds.
|
|
|
|
|
2005-03-31 06:07:20 +08:00
|
|
|
2005-03-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* errno.cc (NO_SYSTEM_RESOURCES): Map to EAGAIN.
|
|
|
|
(NONPAGED_SYSTEM_RESOURCES): Ditto.
|
|
|
|
(PAGED_SYSTEM_RESOURCES): Ditto.
|
|
|
|
(WORKING_SET_QUOTA): Ditto.
|
|
|
|
(PAGEFILE_QUOTA): Ditto.
|
|
|
|
(COMMITMENT_LIMIT): Ditto.
|
|
|
|
|
2005-03-31 06:06:32 +08:00
|
|
|
2005-03-30 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (spenvs): Re-force SYSTEMROOT to always be included in
|
|
|
|
environment.
|
|
|
|
(build_env): Ditto.
|
|
|
|
|
2005-03-31 05:35:31 +08:00
|
|
|
2005-03-30 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.cc (spenv::retrieve): Revert most of previous change.
|
|
|
|
(build_env): Ditto. Rework to track environment variables which need
|
|
|
|
to always be in the windows environment in a separate array.
|
|
|
|
|
2005-03-31 04:01:43 +08:00
|
|
|
2005-03-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
|
|
|
|
|
|
|
|
* path.cc (symlink_info::case_check): Ignore trailing characters
|
|
|
|
in paths when comparing case.
|
|
|
|
|
2005-03-30 23:54:28 +08:00
|
|
|
2005-03-30 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* environ.h (win_env::immediate): Declare new field.
|
|
|
|
(win_env::operator = ): Declare new operator.
|
|
|
|
(win_env::reset): Declare new function.
|
|
|
|
(win_env::~win_env): Declare new destructor.
|
|
|
|
(getwinenv): Add optional third argument to declaration.
|
|
|
|
* environ.cc (conv_envvars): Accommodate immediate field.
|
|
|
|
(win_env::operator =): Define new operator.
|
|
|
|
(win_env::~win_env): Define new destructor.
|
|
|
|
(win_env::add_cache): Add value to environment immediately if
|
|
|
|
"immediate" is set.
|
|
|
|
(getwinenv): Accept optional third argument which will be used to store
|
|
|
|
"cached" values to avoid overwriting real cache.
|
|
|
|
(spenv::force): Declare new field.
|
|
|
|
(spenvs): Accommodate force field. Add "PATH=" with force set to true.
|
|
|
|
(spenv::retrieve): Avoid duping anything if we're not building an
|
|
|
|
envblock.
|
|
|
|
(build_env): Ditto. Use size of potentially constructed new
|
|
|
|
environment block to determine if we need to create an environment
|
|
|
|
block. Pass getwinenv temporary storage to avoid inappropriately
|
|
|
|
overwriting the environment cache.
|
|
|
|
|
2005-03-30 01:46:17 +08:00
|
|
|
2005-03-29 Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
* include/limits.h (NAME_MAX): New define.
|
|
|
|
(PATH_MAX): POSIX allows PATH_MAX to include trailing NUL.
|
|
|
|
|
2005-03-30 01:42:50 +08:00
|
|
|
2005-03-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (is_floppy): Make externally available.
|
|
|
|
* path.h (is_floppy): Declare.
|
|
|
|
* syscalls.cc (sync): Check for floppies on A: and B: in guid case.
|
|
|
|
Don't call setmntent in non-guid case but evaluate drive bit mask
|
|
|
|
locally.
|
|
|
|
|
2005-03-29 17:10:59 +08:00
|
|
|
2005-03-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_process.cc: Re-add exename.
|
|
|
|
|
2005-03-29 05:58:23 +08:00
|
|
|
2005-03-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/ctype.h: Accommodate building in newlib.
|
|
|
|
|
2005-03-29 05:51:55 +08:00
|
|
|
2005-03-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* timer.cc (getitimer): Check that ovalue is a valid pointer, not just
|
|
|
|
NULL.
|
|
|
|
|
2005-03-29 03:55:59 +08:00
|
|
|
2005-03-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* timer.cc (timer_tracker::settime): Set times to zero when just
|
|
|
|
cancelling a timer.
|
|
|
|
|
2005-03-29 03:31:23 +08:00
|
|
|
2005-03-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
2005-03-31 03:43:36 +08:00
|
|
|
* cygthread.cc (cygthread::detach): Revert to just waiting for thread
|
2005-03-29 03:31:23 +08:00
|
|
|
event since waiting for anything else is racy.
|
|
|
|
* timer.cc (timer_tracker::hcancel): Rename from cancel.
|
|
|
|
(timer_tracker::cancel): New method.
|
|
|
|
(timer_tracker::th): Remove.
|
|
|
|
(timer_tracker::~timer_tracker): Call cancel method.
|
|
|
|
(timer_tracker::timer_tracker): Ditto.
|
|
|
|
(timer_tracker::timer_tracker): Always, clear cancel, even though it is
|
|
|
|
probably not strictly necessary for ttstart.
|
|
|
|
(timer_thread): Accommodate cancel -> hcancel rename.
|
|
|
|
(timer_tracker::settime): Ditto.
|
|
|
|
(timer_tracker::gettime): Ditto.
|
|
|
|
(timer_delete): Ditto.
|
|
|
|
|
|
|
|
* cygwin.din: Export _ctype_.
|
|
|
|
* include/ctype.h: Mark that _ctype_ is imported.
|
|
|
|
|
2005-03-29 02:06:49 +08:00
|
|
|
2005-03-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* timer.cc (timer_tracker::timer_tracker): Eliminate simple
|
|
|
|
constructor.
|
|
|
|
(ttstart): Fully initialize.
|
|
|
|
|
|
|
|
* errno.cc: Fix typo introduced in previous change.
|
|
|
|
|
2005-03-29 00:57:13 +08:00
|
|
|
2005-03-28 Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
* errno.cc (FILENAME_EXCED_RANGE): Map to ENAMETOOLONG.
|
|
|
|
|
2005-03-28 07:38:28 +08:00
|
|
|
2005-03-27 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* signal.cc (nanosleep): Revert tv_sec < 0 check as it is fixed
|
|
|
|
properly in the below change to hires.h.
|
|
|
|
|
2005-03-28 07:33:30 +08:00
|
|
|
2005-03-27 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* times.cc (hires_ms::usecs): Compare the difference.
|
|
|
|
* hires.h: Add parentheses to HIRES_DELAY_MAX.
|
|
|
|
|
2005-03-27 10:31:33 +08:00
|
|
|
2005-03-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* timer.cc (nanosleep): Treat tv_sec < 0 as invalid.
|
|
|
|
|
|
|
|
* include/search.h: Make declarations consistent with newlib.
|
|
|
|
|
* wininfo.h (wininfo::timer_active): Delete.
(wininfo::itv): Ditto.
(wininfo::start_time): Ditto.
(wininfo::window_started): Ditto.
(wininfo::getitimer): Ditto.
(wininfo::setitimer): Ditto.
(wininfo::wininfo): Ditto.
(wininfo::lock): New method.
(wininfo::release): Ditto.
* window.cc: Use new lock/acquire wininfo methods throughout.
(wininfo::wininfo): Delete
(wininfo::getitimer): Ditto.
(wininfo::setitimer): Ditto.
(getitimer): Ditto.
(setitimer): Ditto.
(ualarm): Ditto.
(alarm): Ditto.
(wininfo::lock): Define new function.
(wininfo::release): Ditto.
(wininfo::process): Delete WM_TIMER handling.
* timer.cc (struct timetracker): Delete it, flags. Add it_interval,
interval_us, sleepto_us, running, init_muto(), syncthread, and gettime().
(ttstart): Make NO_COPY.
(lock_timer_tracker): New class.
(timer_tracker::timer_tracker): Distinguish ttstart case.
(timer_tracker::~timer_tracker): New destructor. Clean out events, and reset
magic.
(timer_tracker::init_muto): New method.
(to_us): Round up as per POSIX.
(timer_thread): Reorganize to match timer_tracker::settime and
timer_tracker::gettime. Call sig_send without wait. Call auto_release.
(timer_tracker::settime): Reorganize logic to avoid race. Call gettime to
recover old value.
(timer_tracker::gettime): New method.
(timer_create): Properly set errno on invalid timerid. Use new
lock_timer_tracker method.
(timer_delete): Ditto. Simplify code slightly.
(timer_gettime): New function.
(fixup_timers_after_fork): Reinit ttstart.
(getitimer): New implementation.
(setitimer): Ditto.
(ualarm): Ditto.
(alarm): Ditto.
* cygwin.din: Export timer_gettime.
* winsup.h: Remove has has_visible_window_station declaration.
* Makefile.in (DLL_OFILES): Add lsearch.o.
* cygthread.h (cygthread::notify_detached): New element.
(cygthread::cygthread): Take optional fourth argument signifying event to
signal on thread completion.
* cygthread.cc (cygthread::stub): Signal notify_detached event, if it exists.
(cygthread::cygthread): Initialize notify_detached from fourth argument.
(cygthread::detach): Wait for notify_detached field is present.
* lsearch.cc: New file.
* search.h: Ditto.
* include/cygwin/version.h: Bump API minor number to 126.
* cygwin.din: Export lsearch, lfind.
2005-03-27 09:57:38 +08:00
|
|
|
2005-03-26 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* wininfo.h (wininfo::timer_active): Delete.
|
|
|
|
(wininfo::itv): Ditto.
|
|
|
|
(wininfo::start_time): Ditto.
|
|
|
|
(wininfo::window_started): Ditto.
|
|
|
|
(wininfo::getitimer): Ditto.
|
|
|
|
(wininfo::setitimer): Ditto.
|
|
|
|
(wininfo::wininfo): Ditto.
|
|
|
|
(wininfo::lock): New method.
|
|
|
|
(wininfo::release): Ditto.
|
|
|
|
* window.cc: Use new lock/acquire wininfo methods throughout.
|
|
|
|
(wininfo::wininfo): Delete
|
|
|
|
(wininfo::getitimer): Ditto.
|
|
|
|
(wininfo::setitimer): Ditto.
|
|
|
|
(getitimer): Ditto.
|
|
|
|
(setitimer): Ditto.
|
|
|
|
(ualarm): Ditto.
|
|
|
|
(alarm): Ditto.
|
|
|
|
(wininfo::lock): Define new function.
|
|
|
|
(wininfo::release): Ditto.
|
|
|
|
(wininfo::process): Delete WM_TIMER handling.
|
|
|
|
* timer.cc (struct timetracker): Delete it, flags. Add it_interval,
|
|
|
|
interval_us, sleepto_us, running, init_muto(), syncthread, and
|
|
|
|
gettime().
|
|
|
|
(ttstart): Make NO_COPY.
|
|
|
|
(lock_timer_tracker): New class.
|
|
|
|
(timer_tracker::timer_tracker): Distinguish ttstart case.
|
|
|
|
(timer_tracker::~timer_tracker): New destructor. Clean out events, and
|
|
|
|
reset magic.
|
|
|
|
(timer_tracker::init_muto): New method.
|
|
|
|
(to_us): Round up as per POSIX.
|
|
|
|
(timer_thread): Reorganize to match timer_tracker::settime and
|
|
|
|
timer_tracker::gettime. Call sig_send without wait. Call
|
|
|
|
auto_release.
|
|
|
|
(timer_tracker::settime): Reorganize logic to avoid race. Call gettime
|
|
|
|
to recover old value.
|
|
|
|
(timer_tracker::gettime): New method.
|
|
|
|
(timer_create): Properly set errno on invalid timerid. Use new
|
|
|
|
lock_timer_tracker method.
|
|
|
|
(timer_delete): Ditto. Simplify code slightly.
|
|
|
|
(timer_gettime): New function.
|
|
|
|
(fixup_timers_after_fork): Reinit ttstart.
|
|
|
|
(getitimer): New implementation.
|
|
|
|
(setitimer): Ditto.
|
|
|
|
(ualarm): Ditto.
|
|
|
|
(alarm): Ditto.
|
|
|
|
* cygwin.din: Export timer_gettime.
|
|
|
|
* winsup.h: Remove has has_visible_window_station declaration.
|
|
|
|
|
|
|
|
2005-03-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* Makefile.in (DLL_OFILES): Add lsearch.o.
|
|
|
|
* cygthread.h (cygthread::notify_detached): New element.
|
|
|
|
(cygthread::cygthread): Take optional fourth argument signifying event
|
|
|
|
to signal on thread completion.
|
|
|
|
* cygthread.cc (cygthread::stub): Signal notify_detached event, if it
|
|
|
|
exists.
|
|
|
|
(cygthread::cygthread): Initialize notify_detached from fourth argument.
|
|
|
|
(cygthread::detach): Wait for notify_detached field is present.
|
|
|
|
|
|
|
|
* lsearch.cc: New file.
|
|
|
|
* search.h: Ditto.
|
|
|
|
* include/cygwin/version.h: Bump API minor number to 126.
|
|
|
|
* cygwin.din: Export lsearch, lfind.
|
|
|
|
|
2005-03-24 22:04:06 +08:00
|
|
|
2005-03-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_socket::secret_event): Remove.
|
|
|
|
(fhandler_socket::af_local_set_secret): New function combining former
|
|
|
|
set_connect_secret and get_connect_secret into one function.
|
|
|
|
(fhandler_socket::af_local_setblocking): Rename from eid_setblocking.
|
|
|
|
(fhandler_socket::af_local_unsetblocking): Rename from
|
|
|
|
eid_unsetblocking.
|
|
|
|
(fhandler_socket::af_local_set_cred): New method.
|
|
|
|
(fhandler_socket::af_local_copy): New method.
|
|
|
|
(fhandler_socket::af_local_recv_secret): New method.
|
|
|
|
(fhandler_socket::af_local_send_secret): New method.
|
|
|
|
(fhandler_socket::af_local_recv_cred): Rename from eid_recv.
|
|
|
|
(fhandler_socket::af_local_send_cred): Rename from eid_send.
|
|
|
|
(fhandler_socket::af_local_accept): New method.
|
|
|
|
(fhandler_socket::af_local_set_sockpair_cred): Rename from
|
|
|
|
set_socketpair_eids.
|
|
|
|
(fhandler_socket::eid_accept): Remove.
|
|
|
|
(fhandler_socket::eid_connect): Remove.
|
|
|
|
(fhandler_socket::set_connect_secret): Remove.
|
|
|
|
(fhandler_socket::get_connect_secret): Remove.
|
|
|
|
(fhandler_socket::create_secret_event): Remove.
|
|
|
|
(fhandler_socket::check_peer_secret_event): Remove.
|
|
|
|
(fhandler_socket::signal_secret_event): Remove.
|
|
|
|
(fhandler_socket::close_secret_event): Remove.
|
|
|
|
(fhandler_socket::sec_event_accept): Remove.
|
|
|
|
(fhandler_socket::sec_event_connect): Remove.
|
|
|
|
* fhandler_socket.cc (secret_event_name): Remove.
|
|
|
|
(fhandler_socket::af_local_set_sockpair_cred): Rename from
|
|
|
|
set_socketpair_eids.
|
|
|
|
(fhandler_socket::af_local_setblocking): Rename from eid_setblocking.
|
|
|
|
(fhandler_socket::af_local_unsetblocking): Rename from
|
|
|
|
eid_unsetblocking.
|
|
|
|
(fhandler_socket::af_local_recv_secret): New function to receive
|
|
|
|
AF_LOCAL connect secret over socket itself.
|
|
|
|
(fhandler_socket::af_local_send_secret): New function to send AF_LOCAL
|
|
|
|
connect secret over socket itself.
|
|
|
|
(fhandler_socket::af_local_recv_cred): Rename from eid_recv.
|
|
|
|
(fhandler_socket::af_local_send_cred): Rename from eid_send.
|
|
|
|
(fhandler_socket::eid_connect): Remove.
|
|
|
|
(fhandler_socket::af_local_connect): Take over connect side handling
|
|
|
|
of AF_LOCAL secret and credential handshake.
|
|
|
|
(fhandler_socket::eid_accept): Remove.
|
|
|
|
(fhandler_socket::af_local_accept): New method, take over accept side
|
|
|
|
handling of AF_LOCAL secret and credential handshake.
|
|
|
|
(fhandler_socket::af_local_set_cred): New method, set eid credentials
|
|
|
|
to start values.
|
|
|
|
(fhandler_socket::af_local_copy): New method, copy secret and
|
|
|
|
credentials to another socket.
|
|
|
|
(fhandler_socket::af_local_set_secret): New function combining former
|
|
|
|
set_connect_secret and get_connect_secret into one function.
|
|
|
|
(fhandler_socket::create_secret_event): Remove.
|
|
|
|
(fhandler_socket::signal_secret_event): Remove.
|
|
|
|
(fhandler_socket::close_secret_event): Remove.
|
|
|
|
(fhandler_socket::check_peer_secret_event): Remove.
|
|
|
|
(fhandler_socket::sec_event_connect): Remove.
|
|
|
|
(fhandler_socket::sec_event_accept): Remove.
|
|
|
|
(fhandler_socket::fixup_after_fork): Drop secret_event handling.
|
|
|
|
(fhandler_socket::bind): Call af_local_set_secret.
|
|
|
|
(fhandler_socket::connect): Call af_local_set_cred and af_local_connect.
|
|
|
|
(fhandler_socket::listen): Call af_local_set_cred.
|
|
|
|
(fhandler_socket::accept): Call af_local_copy and af_local_accept on
|
|
|
|
accepted socket.
|
|
|
|
(fhandler_socket::close): Don't call close_secret_event.
|
|
|
|
(fhandler_socket::set_close_on_exec): Don't set secret_event
|
|
|
|
inheritance.
|
|
|
|
* net.cc (cygwin_getsockopt): Add debug output.
|
|
|
|
(socketpair): Call af_local_set_sockpair_cred instead of
|
|
|
|
set_socketpair_eids.
|
|
|
|
* select.cc (set_bits): Drop AF_LOCAL special handling in case
|
|
|
|
of except bit set.
|
|
|
|
|
2005-03-24 05:04:00 +08:00
|
|
|
2005-03-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/ctype.h: Always define macros when inside cygwin.
|
|
|
|
(isblank): New macro.
|
|
|
|
|
2005-03-24 01:27:18 +08:00
|
|
|
2005-03-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_socket::eid_connect): Make private.
|
|
|
|
(fhandler_socket::set_connect_secret): Ditto.
|
|
|
|
(fhandler_socket::get_connect_secret): Ditto.
|
|
|
|
(fhandler_socket::create_secret_event): Ditto. Remove secret argument.
|
|
|
|
(fhandler_socket::check_peer_secret_event): Ditto.
|
|
|
|
(fhandler_socket::signal_secret_event): Make private.
|
|
|
|
(fhandler_socket::close_secret_event): Ditto.
|
|
|
|
(fhandler_socket::sec_event_accept): New private method.
|
|
|
|
(fhandler_socket::sec_event_connect): Ditto.
|
|
|
|
(fhandler_socket::af_local_connect): New public method.
|
|
|
|
* fhandler_socket.cc: Use 'struct sockaddr' and 'struct sockaddr_in'
|
|
|
|
rather than just 'sockaddr' and 'sockaddr_in' throughout.
|
|
|
|
(fhandler_socket::eid_connect): Drop AF_LOCAL/SOCK_STREAM test.
|
|
|
|
(fhandler_socket::create_secret_event): Remove secret argument.
|
|
|
|
Always use connect_secret instead.
|
|
|
|
(fhandler_socket::check_peer_secret_event): Ditto.
|
|
|
|
(fhandler_socket::sec_event_connect): New method, combining entire
|
|
|
|
secret event handshake on connect side.
|
|
|
|
(fhandler_socket::af_local_connect): New method, combining secret
|
|
|
|
event handshake and eid credential transaction on connect side, to
|
|
|
|
be called from select.
|
|
|
|
(fhandler_socket::sec_event_accept): New method, combining entire
|
|
|
|
secret event handshake on accept side.
|
|
|
|
(fhandler_socket::connect): Drop secret, use connect_secret instead.
|
|
|
|
Move entire secret event handshake to sec_event_connect.
|
|
|
|
(fhandler_socket::accept): Move entire secret event handshake to
|
|
|
|
sec_event_accept.
|
|
|
|
* select.cc (set_bits): Just call af_local_connect here.
|
|
|
|
|
2005-03-24 01:16:16 +08:00
|
|
|
2005-03-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
2005-03-24 01:43:51 +08:00
|
|
|
* include/cygwin/version.h: Change comment for most recent API version
|
2005-03-24 01:16:16 +08:00
|
|
|
bump to reflect new additions to the DLL and to remove change obsoleted
|
|
|
|
by the previous checkin.
|
|
|
|
|
2005-03-24 01:11:24 +08:00
|
|
|
2005-03-23 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/ctype.h: New file.
|
|
|
|
* ctype.cc: Ditto.
|
|
|
|
* Makefile.in: Add ctype.o to DLL_OFILES.
|
|
|
|
* cygwin.din: Remove _ctype_ptr (for now?).
|
|
|
|
|
2005-03-23 03:00:31 +08:00
|
|
|
2005-03-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* Makefile.in (DLL_OFILES): Add hookapi.o. Eliminate some cruft.
|
|
|
|
* cygheap.h (cygheap_types): Add new enum: HEAP_1_HOOK.
|
|
|
|
(hook_chain): New struct.
|
|
|
|
(init_cygheap::hooks): Define new element.
|
|
|
|
* cygheap.cc (cygheap_fixup_in_child): Zero hook chain on exec.
|
|
|
|
* dcrt0.cc (dll_crt0_1): Call ld_preload just before calling main function.
|
|
|
|
* external.cc (cygwin_internal): Implement CW_HOOK.
|
|
|
|
* fork.cc (fork_child): Call fixup_hooks_after_fork.
|
|
|
|
* init.cc (cygwin_hmodule): Reinstate after a long absence.
|
|
|
|
* include/sys/cygwin.h: Define CW_HOOK.
|
|
|
|
* hookapi.cc: New file.
|
|
|
|
|
|
|
|
* select.cc (start_thread_socket): Add debugging output.
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): gcc 4.x
|
|
|
|
accommodation.
|
|
|
|
|
|
|
|
* fhandler_socket.cc (fhandler_socket::connect): Make sure that err is
|
|
|
|
initialized.
|
|
|
|
|
2005-03-22 19:37:55 +08:00
|
|
|
2005-03-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (__ctype_ptr): Export.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
|
2005-03-22 03:10:45 +08:00
|
|
|
2005-03-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class cygthread): Remove forward declaration.
|
|
|
|
|
2005-03-22 02:56:50 +08:00
|
|
|
2005-03-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class cygthread): Forward declare.
|
|
|
|
(fhandler_socket::sec_pipe): Remove.
|
|
|
|
(fhandler_socket::eid_pipe_name): Remove.
|
|
|
|
(fhandler_socket::eid_setblocking): New private method.
|
|
|
|
(fhandler_socket::eid_unsetblocking): Ditto
|
|
|
|
(fhandler_socket::eid_recv): Ditto
|
|
|
|
(fhandler_socket::eid_send): Ditto
|
|
|
|
(fhandler_socket::eid_accept): Ditto
|
|
|
|
(fhandler_socket::eid_connect): New public method.
|
|
|
|
* fhandler_socket.cc (ASYNC_MASK): Move to beginning of file.
|
|
|
|
(fhandler_socket::eid_pipe_name): Remove.
|
|
|
|
(fhandler_socket::set_socketpair_eids): Move down to fhandler_socket
|
|
|
|
methods.
|
|
|
|
(fhandler_socket::fhandler_socket): Drop initializing sec_pipe.
|
|
|
|
(fhandler_socket::~fhandler_socket): Drop closing sec_pipe.
|
|
|
|
(fhandler_socket::eid_setblocking): New method.
|
|
|
|
(fhandler_socket::eid_unsetblocking): New method.
|
|
|
|
(fhandler_socket::eid_recv): New method.
|
|
|
|
(fhandler_socket::eid_send): New method.
|
|
|
|
(fhandler_socket::eid_connect): New method.
|
|
|
|
(fhandler_socket::eid_accept): New method.
|
|
|
|
(fhandler_socket::dup): Drop sec_pipe handling.
|
|
|
|
(fhandler_socket::connect): Fix WinSock error handling. Prepare
|
|
|
|
eid credential transaction. Call eid_connect on successful connect.
|
|
|
|
(fhandler_socket::listen): Drop creating sec_pipe.
|
|
|
|
(fhandler_socket::accept): Slightly simplify code. Call eid_accept
|
|
|
|
on accepted socket.
|
|
|
|
(fhandler_socket::getpeereid): Reshuffle code for readability. Fix
|
|
|
|
test for invalid pid.
|
|
|
|
* select.cc (set_bits): Call eid_connect on successfully connected
|
|
|
|
socket.
|
|
|
|
|
2005-03-20 05:45:15 +08:00
|
|
|
2005-03-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* child_info.h (fork_info): Use different method to alias variable.
|
|
|
|
(spawn_info): Ditto.
|
|
|
|
* cxx.cc (__cxa_guard_acquire): New function (needed for gcc 4.x).
|
|
|
|
(__cxa_guard_release): Ditto.
|
|
|
|
* devices.in: Make sure stuff is correctly bracketed (for gcc 4.x).
|
|
|
|
* devices.cc: Regenerate.
|
|
|
|
* fhandler.h (fhandler_disk_file::fchmod): Avoid left coercion (for gcc
|
|
|
|
4.x).
|
|
|
|
* smallprint.c (__rn): Declare as __fastcall since gcc 4.x complains
|
|
|
|
about use of regparm, for some reason.
|
|
|
|
* sync.h (sync::init_lock): Remove.
|
|
|
|
* sync.cc (sync::init_lock): Ditto.
|
|
|
|
|
2005-03-19 06:42:51 +08:00
|
|
|
2005-03-18 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* net.cc (cygwin_getprotobyname): Don't try to be fancy with return
|
|
|
|
values.
|
|
|
|
(cygwin_getprotobynumber): Ditto.
|
|
|
|
|
2005-03-17 20:53:47 +08:00
|
|
|
2005-03-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::utimes): Handle opening
|
|
|
|
directories under 9x gracefully.
|
|
|
|
|
2005-03-17 19:56:30 +08:00
|
|
|
2005-03-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (fhandler_socket::connect): Always set sun_path
|
|
|
|
in case of a successful or pending connect.
|
|
|
|
(fhandler_socket::accept): Don't run secret event and eid credential
|
|
|
|
transactions if OS accept returned WSAEWOULDBLOCK.
|
|
|
|
|
2005-03-17 05:52:06 +08:00
|
|
|
2005-03-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_tape.cc (get_ll): This is a generally useful function so
|
|
|
|
move it
|
2005-03-17 06:08:33 +08:00
|
|
|
* winsup.h (get_ll): to here.
|
2005-03-17 05:52:06 +08:00
|
|
|
* security.cc (get_token_group_sidlist): Use get_ll to figure out the
|
|
|
|
long long version of the luid since QuadPart is not part of the
|
|
|
|
standard Windows API.
|
|
|
|
|
2005-03-17 05:20:56 +08:00
|
|
|
2005-03-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dir.cc: Rename opendir_* to dirent_* throughout.
|
|
|
|
(opendir_states): Move and rename.
|
|
|
|
* fhandler.h (dirent_states): to here.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Use raw readdir
|
|
|
|
when skipping through entries since it is keeping track of "." and
|
|
|
|
"..".
|
|
|
|
(fhandler_cygdrive::seekdir): Use fhandler_disk_file::readdir to do
|
|
|
|
everything.
|
|
|
|
* fhandler_virtual.cc (fhandler_virtual::opendir): Set flag indicating
|
|
|
|
that we provide . and ..
|
|
|
|
(fhandler_virtual::seekdir): Ditto.
|
|
|
|
(fhandler_virtual::rewinddir): Ditto.
|
|
|
|
* fhandler_registry.cc (fhandler_registry::rewinddir): Ditto.
|
|
|
|
|
2005-03-17 01:07:32 +08:00
|
|
|
2005-03-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.cc (free_local): New macro.
|
|
|
|
(_cygtls::remove): Use free_local to free known-malloced local
|
|
|
|
variables.
|
|
|
|
* cygtls.h: Mark some variables as "malloced".
|
|
|
|
* net.cc (enum struct_type): Rename from is_* to t_* for clarity.
|
|
|
|
(dump_protoent): Delete.
|
|
|
|
(dup_ent): New macro.
|
|
|
|
(__dup_ent): Renamed from dup_ent. Change arguments for convenience.
|
|
|
|
Replace first argument with newly alloced value. Allocate a rounded
|
|
|
|
number of bytes in an attempt to try to reuse space. Subsume
|
|
|
|
"dump_protent".
|
|
|
|
(cygwin_getprotobyname): Simplify using new dup_ent functionality.
|
|
|
|
(cygwin_getprotobynumber): Ditto.
|
|
|
|
(cygwin_getservbyname): Ditto.
|
|
|
|
(cygwin_getservbyport): Ditto.
|
|
|
|
(cygwin_gethostname): Ditto.
|
|
|
|
(cygwin_gethostbyname): Ditto.
|
|
|
|
* tlsoffsets.h: Regenerate.
|
|
|
|
|
|
|
|
* syslog.cc (openlog): Use NULL rather than 0, for consistency with the
|
|
|
|
rest of cygwin.
|
|
|
|
(pass_handler::initialize): Use unbuffered I/O in pass one.
|
|
|
|
|
2005-03-16 09:00:05 +08:00
|
|
|
2005-03-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* errno.cc (errmap): Correct typo in previous change.
|
|
|
|
|
2005-03-16 05:58:44 +08:00
|
|
|
2005-03-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.cc (_cygtls::remove): Free process_ident, if it exists.
|
|
|
|
|
|
|
|
* errno.cc (errmap): ERROR_DISK_CORRUPT -> EIO.
|
|
|
|
|
2005-03-12 10:33:00 +08:00
|
|
|
2005-03-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.h (pathconv_arg): Define PC_NO_ACCESS_CHECK.
|
|
|
|
(path_types): Define PATH_NO_ACCESS_CHECK == PC_NO_ACCESS_CHECK.
|
|
|
|
* path.cc (symlink_info::check_sysfile): Move to symlink_info class and
|
|
|
|
eliminate arguments that are part of class. Use set_error.
|
|
|
|
(symlink_info::check_shortcut): Ditto.
|
|
|
|
(symlink_info::set_error): New function.
|
|
|
|
(path_conv::check): Pass PC_NO_ACCESS_CHECK to symlink_info::check.
|
|
|
|
(symlink_info::check): Preserve PC_NO_ACCESS_CHECK in pflags. Use
|
|
|
|
set_error.
|
|
|
|
|
2005-03-11 01:02:52 +08:00
|
|
|
2005-03-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (is_floppy): New function.
|
|
|
|
(setmntent): Drop floppy drives on A: and B: from logical drive DWORD.
|
|
|
|
* syscalls.cc (sync): Don't sync floppies on A: and B:.
|
|
|
|
|
2005-03-10 22:41:50 +08:00
|
|
|
2005-03-10 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
2005-03-11 00:59:55 +08:00
|
|
|
* autoload.cc (LoadDLLprime): Use nocopy segment or forked processes
|
|
|
|
will not initialize properly.
|
|
|
|
|
|
|
|
2005-03-10 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* autoload.cc (LoadDLLprime): Scrap use of .linkonce and just use an
|
2005-03-10 22:41:50 +08:00
|
|
|
ifdef guard to load .foo_init into data segment.
|
|
|
|
|
|
|
|
* dcrt0.cc (initial_env): Allow colon or space as CYGWIN_DEBUG
|
|
|
|
separator for consistency.
|
|
|
|
|
2005-03-10 09:50:09 +08:00
|
|
|
2005-03-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.h (pinfo::pinfo): Clear more elements in the constructor.
|
|
|
|
|
2005-03-10 07:46:51 +08:00
|
|
|
2005-03-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* net.cc (dup_ent): Revert older stupid test for null. Don't copy name
|
|
|
|
if it is NULL.
|
|
|
|
|
2005-03-10 07:00:20 +08:00
|
|
|
2005-03-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (fhandler_socket::eid_pipe_name): Fix format
|
|
|
|
string.
|
|
|
|
(fhandler_socket::connect): Set sun_path before running eid credential
|
|
|
|
transaction. Run transaction only if OS connect was successful.
|
|
|
|
(fhandler_socket::accept): Run transaction only if OS accept was
|
|
|
|
successful.
|
|
|
|
|
|
|
|
2005-03-09 Corinna Vinschen <corinna@vinschen.de>
|
2005-03-10 05:07:56 +08:00
|
|
|
|
|
|
|
* signal.cc (sigprocmask): Rename first parameter to "how".
|
|
|
|
(handle_sigprocmask): Ditto. Check "how" for being a valid "how" value.
|
|
|
|
Fix call order in case of wrong "how" value.
|
|
|
|
|
2005-03-10 06:38:09 +08:00
|
|
|
2005-03-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* net.cc (dup_ent): Revert previous stupid change.
|
|
|
|
|
2005-03-10 04:56:44 +08:00
|
|
|
2005-03-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* net.cc (dup_ent): Avoid dereferencing a null pointer in a debug_printf.
|
|
|
|
|
2005-03-10 04:33:21 +08:00
|
|
|
2005-03-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Treat ENOSHARE similarly to ENOENT when
|
|
|
|
determining if there was a problem with a symlink.
|
|
|
|
|
2005-03-09 00:33:17 +08:00
|
|
|
2005-03-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (fhandler_socket::listen): Don't limit the number
|
|
|
|
of pipe instances.
|
|
|
|
|
2005-03-08 22:31:21 +08:00
|
|
|
2005-03-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::exit): Right shift exit value by eight when not
|
|
|
|
started in a cygwin environment.
|
|
|
|
|
2005-03-08 17:18:47 +08:00
|
|
|
2005-03-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* mmap.cc (mmap64): Handle MAP_AUTOGROW flag.
|
|
|
|
(fhandler_disk_file::mmap): Ditto. Clean conditional for readability.
|
|
|
|
* include/sys/mman.h: Add MAP_AUTOGROW flag.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
|
2005-03-08 13:05:02 +08:00
|
|
|
2005-03-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (dll_crt0_0): Eliminate muto::init call.
|
|
|
|
* sync.h (locker): New, currently unused class.
|
|
|
|
(muto::init): Eliminate.
|
|
|
|
* sync.cc (muto::init): Ditto.
|
|
|
|
(muto::init): Eliminate critical section lock and instead use name as a
|
|
|
|
guard to prevent against multiple attempts to initialize the same muto.
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::init): Set myself procinfo when not execing and pid
|
|
|
|
matches windows pid or cygwin pid.
|
|
|
|
|
2005-03-07 05:28:28 +08:00
|
|
|
2005-03-06 Pavel Tsekov <ptsekov@gmx.net>
|
|
|
|
|
|
|
|
* path.cc (mount_info::read_cygdrive_info_from_registry): Use the user
|
|
|
|
prefix if it exists.
|
|
|
|
|
|
|
|
2005-03-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sync.h (sync::init_lock): Declare new static member.
|
|
|
|
(sync::init()): Declare new static function.
|
|
|
|
* sync.cc (sync::init): Define.
|
|
|
|
(sync::init): Lock attempt to initialize a muto to stop multiple
|
|
|
|
threads from colliding.
|
|
|
|
* dcrt0.cc (dll_crt0_0): Initialize muto environment.
|
|
|
|
|
2005-03-07 04:15:07 +08:00
|
|
|
2005-03-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (special_name): Reorganize to always detect the use of
|
|
|
|
special names first, before detecting special characters.
|
|
|
|
|
2005-03-05 02:04:11 +08:00
|
|
|
2005-03-04 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_clipboard.cc: Use int for cygnativeformat rather than UINT
|
|
|
|
as that is what is returned by GetPriorityClipboardFormat.
|
|
|
|
(fhandler_dev_clipboard::read): Ditto for the format variable.
|
|
|
|
|
2005-03-04 21:54:59 +08:00
|
|
|
2005-03-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.cc (fhandler_base::open_9x): Satisfy query_open values.
|
|
|
|
|
2005-03-04 16:36:43 +08:00
|
|
|
2005-03-04 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* fhandler_socket.cc (fhandler_socket::ioctl): Only cancel
|
|
|
|
WSAAsyncSelect when async mode is on.
|
|
|
|
|
2005-03-04 06:08:12 +08:00
|
|
|
2005-03-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (utmpxname): Export.
|
|
|
|
* syscalls.cc (utmpxname): Create export alias to utmpname.
|
|
|
|
* include/utmpx.h: Define ut_name and ut_xtime if not already defined.
|
|
|
|
(utmpxname): Add prototype.
|
|
|
|
* include/sys/utmp.h: Only define ut_name if not already defined.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
|
2005-03-04 00:53:52 +08:00
|
|
|
2005-03-03 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::detach): Use a slightly higher priority when
|
|
|
|
waiting for thread signalling.
|
|
|
|
|
2005-03-03 08:49:53 +08:00
|
|
|
2005-03-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* autoload.cc (std_dll_init): Save and restore fpu control register
|
|
|
|
around LoadAddress to prevent loaded dlls (like msvcrt.dll) from
|
|
|
|
setting unwanted stuff.
|
|
|
|
|
2005-03-03 08:36:49 +08:00
|
|
|
2005-03-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.cc (_cygtls::remove): Don't attempt any removal activities if
|
|
|
|
exitsock is zero.
|
|
|
|
|
2005-03-03 09:06:30 +08:00
|
|
|
2005-03-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.cc (_cygtls::init_thread): Move exitsock setting later. It
|
2005-03-03 08:32:57 +08:00
|
|
|
should always be set.
|
|
|
|
(_cygtls::remove): Detect zero exitsock. Not quite sure why this is needed.
|
|
|
|
|
2005-03-03 00:13:24 +08:00
|
|
|
2005-03-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* autoload.cc (LoadDLLprime): Mask error code to low-order 16 bits.
|
|
|
|
(noload): Preserve sign when returning error code.
|
|
|
|
|
2005-03-02 23:32:34 +08:00
|
|
|
2005-03-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* spawn.cc (do_cleanup): Properly restore SIGINT/SIGQUIT even if they
|
|
|
|
had previously been SIG_DFL.
|
|
|
|
|
2005-03-02 16:28:54 +08:00
|
|
|
2005-03-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::touch_ctime): Replace
|
|
|
|
GetSystemTime/SystemTimeToFileTime with GetSystemTimeAsFileTime.
|
|
|
|
* times.cc (time_as_timestruc_t): Ditto.
|
|
|
|
(time): Ditto.
|
|
|
|
|
2005-03-02 04:20:45 +08:00
|
|
|
2005-03-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number to 14.
|
|
|
|
|
2005-03-01 19:51:29 +08:00
|
|
|
2005-03-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_clipboard.cc (fhandler_dev_clipboard::write): Never set
|
|
|
|
errno to 0.
|
|
|
|
(fhandler_dev_clipboard::read): Ditto.
|
|
|
|
* fhandler_windows.cc (fhandler_windows::read): Ditto.
|
|
|
|
* scandir.cc (scandir): Ditto.
|
|
|
|
* syscalls.cc (_fstat64_r): Ditto.
|
|
|
|
(_fstat_r): Ditto.
|
|
|
|
(_stat64_r): Ditto.
|
|
|
|
(_stat_r): Ditto.
|
|
|
|
|
|
|
|
* mmap.cc (mmap64): Fix /dev/zero mapping.
|
|
|
|
|
2005-02-28 21:11:50 +08:00
|
|
|
2005-02-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_socket): Declare new method
|
|
|
|
set_socketpair_eids.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::set_socketpair_eids): New method.
|
|
|
|
(fhandler_socket::dup): Duplicate sec_pipe if necessary.
|
|
|
|
(fhandler_socket::listen): Only create sec_pipe if named pipes are
|
|
|
|
available. Initialized sec_peer_pid to 0 as on Linux.
|
|
|
|
(fhandler_socket::connect): Only run eid credential transaction if
|
|
|
|
named pipes are available. Fake otherwise. Initialized sec_peer_pid
|
|
|
|
to 0 as on Linux.
|
|
|
|
(fhandler_socket::accept): Ditto.
|
|
|
|
(fhandler_socket::close): Move closing sec_pipe handle from here...
|
|
|
|
(fhandler_socket::~fhandler_socket): ... to here.
|
|
|
|
* net.cc (socketpair): Set eid credentials by calling
|
|
|
|
fhandler_socket::set_socketpair_eids() on both socket ends.
|
|
|
|
* wincap.h (wincaps::has_named_pipes): New element.
|
|
|
|
* wincap.cc: Implement above element throughout.
|
|
|
|
|
2005-02-27 12:30:08 +08:00
|
|
|
2005-02-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (_pinfo::set_ctty): Move function
|
|
|
|
* pinfo.cc (_pinfo::set_ctty): to here.
|
|
|
|
|
|
|
|
* fhandler_mem.cc (fhandler_dev_mem::fstat): Don't fill out structure
|
|
|
|
if this is an on-disk device rather than an "auto" device.
|
|
|
|
* fhandler_raw.cc (fhandler_dev_raw::fstat): Ditto.
|
|
|
|
|
|
|
|
* path.cc (normalize_posix_path): Don't treat a standalone '//' as
|
|
|
|
introducing a UNC path.
|
|
|
|
(normalize_win32_path): Ditto.
|
|
|
|
|
2005-02-27 04:50:25 +08:00
|
|
|
2005-02-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* debug.cc (delete_handle): Report on handle value in debugging output.
|
|
|
|
|
|
|
|
* pinfo.h (_pinfo::exists): Declare "new" function.
|
|
|
|
(_pinfo::kill): Ditto.
|
|
|
|
* fhandler_termios.cc (tty_min::kill_pgrp): Use _pinfo::exists rather
|
|
|
|
than proc_exists.
|
|
|
|
* pinfo.cc (pinfo::init): Ditto. Don't do a low_priority_sleep(0) when
|
|
|
|
looping to find exec'ed procinfo.
|
|
|
|
(pinfo::release): Be more careful about unmapping and closing.
|
|
|
|
* signal.cc (_pinfo::kill): Rename from kill_worker. Accommodate entry
|
|
|
|
into _pinfo class.
|
|
|
|
(kill0): Use _pinfo::kill rather than kill_worker.
|
|
|
|
(kill_pgrp): Ditto. Use _pinfo::exists rather than proc_exists.
|
|
|
|
* sigproc.cc (_pinfo::exists): Rename from proc_exists.
|
|
|
|
(pid_exists): Use _pinfo::exists rather than proc_exists.
|
|
|
|
(remove_proc): Ditto.
|
|
|
|
* sigproc.h (proc_exists): Delete declaration.
|
|
|
|
|
2005-02-26 05:23:15 +08:00
|
|
|
2005-02-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_base): Declare fixup_mmap_after_fork
|
|
|
|
with additional flags parameter. Change offset parameter to _off64_t.
|
|
|
|
(class fhandler_disk_file): Ditto.
|
|
|
|
(class fhandler_dev_mem): Ditto.
|
|
|
|
* fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork):
|
2005-04-05 12:31:00 +08:00
|
|
|
Accommodate new parameters.
|
2005-02-26 05:23:15 +08:00
|
|
|
* mmap.cc: Include ntdll.h.
|
|
|
|
(class mmap_record): Add flags member.
|
|
|
|
(mmap_record::mmap_record): Add flags parameter.
|
|
|
|
(mmap_record::get_flags): New method.
|
|
|
|
(class map): Add next_anon_addr member to store next anonymous mapping
|
|
|
|
address suggestion.
|
|
|
|
(map::get_next_anon_addr): New method.
|
|
|
|
(map::set_next_anon_addr): New method.
|
|
|
|
(mmap64): Don't align offset and length to granularity in case of
|
|
|
|
MAP_ANONYMOUS on NT. Check for already existing mapping only on 9x.
|
|
|
|
Call mmap_record::mmap_record with additional flags argument.
|
2005-04-05 12:31:00 +08:00
|
|
|
(fhandler_base::fixup_mmap_after_fork): Accommodate new parameters.
|
2005-02-26 05:23:15 +08:00
|
|
|
(fhandler_disk_file::mmap): Use NtMapViewOfSection with
|
|
|
|
AT_ROUND_TO_PAGE flag for anonymous mappings on NT. If addr is NULL,
|
|
|
|
try to map adjacent to previous mapping.
|
|
|
|
(fhandler_disk_file::fixup_mmap_after_fork): Add flags argument.
|
|
|
|
Change offset parameter to _off64_t. Use NtMapViewOfSection to
|
|
|
|
re-create anonymous mappings on NT.
|
2005-04-05 12:31:00 +08:00
|
|
|
(fixup_mmaps_after_fork): Accommodate new parameters when calling
|
2005-02-26 05:23:15 +08:00
|
|
|
fhandler's fixup_mmaps_after_fork function.
|
|
|
|
* ntdll.h (AT_ROUND_TO_PAGE): New define.
|
|
|
|
|
2005-02-25 19:47:17 +08:00
|
|
|
2005-02-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
2005-02-25 19:48:02 +08:00
|
|
|
* mmap.cc (mmap64): Handle anonymous MAP_FIXED request on
|
|
|
|
non-granulation boundary.
|
2005-02-25 19:47:17 +08:00
|
|
|
|
2005-02-25 19:15:22 +08:00
|
|
|
2005-02-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* mmap.cc (class mmap_record): Declare new map_pages method with
|
|
|
|
address parameter.
|
|
|
|
(mmap_record::map_pages): New method with address parameter.
|
|
|
|
(mmap64): Evaluate access mode before checking if already existing
|
|
|
|
mapping can be used.
|
|
|
|
Only use existing mapping if requested access mode matches the one
|
|
|
|
in the existing mapping.
|
2005-02-25 19:48:02 +08:00
|
|
|
Add check for existing mapping for anonymous MAP_FIXED case.
|
2005-02-25 19:15:22 +08:00
|
|
|
|
2005-02-24 06:17:28 +08:00
|
|
|
2005-02-23 Corinna Vinschen <corinna@vinschen.de>
|
2005-03-10 09:50:09 +08:00
|
|
|
|
2005-02-24 06:17:28 +08:00
|
|
|
* localtime.cc: Implement setting __tzrule's offset member using
|
|
|
|
newlib's __gettzinfo () interface.
|
|
|
|
(__tzrule): Remove.
|
|
|
|
(timezone): Define as long according to POSIX.
|
|
|
|
|
2005-02-24 01:59:04 +08:00
|
|
|
2005-02-23 Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
* devices.in (parsedisk): Fix typo.
|
2005-02-24 06:14:40 +08:00
|
|
|
* devices.cc: Regenerate.
|
2005-02-24 01:59:04 +08:00
|
|
|
|
2005-02-24 01:39:46 +08:00
|
|
|
2005-02-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (getpeereid): Export.
|
|
|
|
* fhandler.h (class fhandler_socket): Add pipe and id members to
|
|
|
|
exchange eid credentials for AF_LOCAL sockets.
|
|
|
|
(eid_pipe_name): Declare new method.
|
|
|
|
(getpeereid): Ditto.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::eid_pipe_name): New method.
|
|
|
|
(fhandler_socket::fhandler_socket): Initialize sec_pipe.
|
|
|
|
(fhandler_socket::connect): Exchange eid credentials with accepting
|
|
|
|
socket process.
|
|
|
|
(fhandler_socket::listen): Prepare eid credential transaction.
|
|
|
|
(fhandler_socket::accept): Exchange eid credentials with connecting
|
|
|
|
socket process.
|
|
|
|
(fhandler_socket::close): Close eid credentials pipe if open.
|
|
|
|
(fhandler_socket::getpeereid): New method.
|
|
|
|
* net.cc (cygwin_getsockopt): Add SO_PEERCRED handling.
|
|
|
|
(getpeereid): New function.
|
|
|
|
* include/asm/socket.h (SO_PEERCRED): Define.
|
|
|
|
* include/cygwin/socket.h (struct ucred): Define new type.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
|
2005-02-24 00:27:54 +08:00
|
|
|
2005-02-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* include/sys/statvfs.h (ST_RDONLY): Define.
|
|
|
|
(ST_NOSUID): Define.
|
|
|
|
|
2005-02-23 21:12:43 +08:00
|
|
|
2005-02-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (fstatvfs): Export.
|
|
|
|
(statvfs): Export.
|
|
|
|
* syscalls.cc: Include sys/statvfs.h.
|
|
|
|
(statvfs): New function. Move statfs functionality here.
|
|
|
|
(fstatvfs): New function.
|
|
|
|
(statfs): Just call statvfs and copy structure. Check validity of
|
|
|
|
incoming struct statfs pointer.
|
|
|
|
* include/cygwin/types.h (fsblkcnt_t): Define.
|
|
|
|
(fsfilcnt_t): Define.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
* include/sys/statvfs.h: New file.
|
|
|
|
|
2005-02-23 20:30:31 +08:00
|
|
|
2005-02-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* devices.h: Switch FH_ZERO and FH_PORT as on Linux. Add FH_FULL.
|
|
|
|
* devices.in: Add /dev/full.
|
|
|
|
* devices.cc: Regenerate.
|
|
|
|
* dtable.cc (build_fh_pc): Add FH_FULL.
|
|
|
|
* fhandler.cc (fhandler_base::fstat): Set FH_FULL permission bits
|
|
|
|
correctly.
|
|
|
|
* fhandler_zero.cc (fhandler_dev_zero::write): Set errno to ENOSPC
|
|
|
|
and return -1 if device is FH_FULL.
|
|
|
|
|
2005-02-23 10:00:48 +08:00
|
|
|
2005-02-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_cygdrive::closedir): Return 0 when
|
|
|
|
closing cygdrive_root.
|
|
|
|
|
2005-02-23 03:45:41 +08:00
|
|
|
2005-02-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (basename): Export.
|
|
|
|
(dirname): Export.
|
|
|
|
* path.cc (basename): New function.
|
|
|
|
(dirname): New function.
|
|
|
|
* include/libgen.h: New file.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
|
2005-02-22 23:39:45 +08:00
|
|
|
2005-02-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* select.cc (peek_pipe): Disable new pipe code until there's
|
|
|
|
a working substitute.
|
|
|
|
|
2005-02-22 23:30:09 +08:00
|
|
|
2005-02-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din (fdatasync): Export.
|
|
|
|
* fhandler.cc (fhandler_base::fsync): Return with EINVAL if no
|
|
|
|
handle is available.
|
|
|
|
* syscalls.cc (fdatasync): Create export alias to fsync.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
|
2005-02-21 00:14:53 +08:00
|
|
|
2005-02-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_base::fstat_helper): Declare with additional
|
|
|
|
dwVolumeSerialNumber argument. Drop default values for last three
|
|
|
|
arguments.
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Pass
|
|
|
|
dwVolumeSerialNumber from GetFileInformationByHandle to fstat_helper.
|
|
|
|
(fhandler_base::fstat_by_name): Pass pc.volser () to fstat_helper.
|
2005-04-05 12:31:00 +08:00
|
|
|
Accommodate dropping default values for last three arguments of
|
2005-02-21 00:14:53 +08:00
|
|
|
fstat_helper.
|
2005-02-27 04:50:25 +08:00
|
|
|
(fhandler_base::fstat_helper): Add dwVolumeSerialNumber argument.
|
2005-02-21 00:14:53 +08:00
|
|
|
Use for st_dev member unless 0 in which case pc.volser () is used.
|
|
|
|
|
2005-02-20 21:28:23 +08:00
|
|
|
2005-02-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* autoload.cc (FindFirstVolumeA): Add.
|
|
|
|
(FindNextVolumeA): Add.
|
|
|
|
(FindVolumeClose): Add.
|
|
|
|
(GetVolumePathNamesForVolumeNameA): Add.
|
|
|
|
* fhandler.h (class fhandler_base): Declare new method fsync.
|
|
|
|
* fhandler.cc (fhandler_base::fsync): New method.
|
|
|
|
* syscalls.cc (fsync): Move functionality into fhandler method fsync.
|
|
|
|
Just call this method from here.
|
|
|
|
(sync_worker): New static function.
|
|
|
|
(sync): Fill with life for NT systems.
|
|
|
|
* wincap.h (wincaps::has_guid_volumes): New element.
|
|
|
|
* wincap.cc: Implement above element throughout.
|
|
|
|
|
2005-02-20 19:44:32 +08:00
|
|
|
2005-02-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (enum query_state): Add query_write_attributes state.
|
|
|
|
(fhandler_base::status.query_open): Add a bit to make room for more
|
|
|
|
states.
|
|
|
|
(class fhandler_base): Declare new method utimes.
|
|
|
|
(class fhandler_socket): Ditto.
|
|
|
|
(class fhandler_disk_file): Ditto.
|
|
|
|
(fhandler_disk_file::fhandler_disk_file): Add constructor with
|
|
|
|
path_conv parameter.
|
|
|
|
* fhandler.cc (fhandler_base::open): Add query_write_attributes
|
|
|
|
handling.
|
|
|
|
(fhandler_base::utimes): New method.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::link): Simplify.
|
|
|
|
Open file with query_write_attributes instead of query_write_control.
|
|
|
|
(fhandler_disk_file::utimes): New method.
|
|
|
|
(fhandler_disk_file::fhandler_disk_file): Add constructor with
|
|
|
|
path_conv parameter setting pc member immediately.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::fchmod): Use new
|
|
|
|
fhandler_disk_file constructor.
|
|
|
|
(fhandler_socket::fchown): Ditto.
|
|
|
|
(fhandler_socket::facl): Ditto.
|
|
|
|
(fhandler_socket::link): Ditto.
|
|
|
|
(fhandler_socket::utimes): New method.
|
|
|
|
* times.cc: Include dtable.h.
|
|
|
|
(timeval_to_filetime): Make non-static.
|
|
|
|
(utimes): Move functionality into fhandler method utimes. Just call
|
|
|
|
this method from here.
|
|
|
|
* winsup.h: Simplify declarations of time helper functions.
|
|
|
|
(timeval_to_filetime): Add extern declaration.
|
|
|
|
|
2005-02-20 05:53:36 +08:00
|
|
|
2005-02-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_base): Declare new method link.
|
|
|
|
(class fhandler_socket): Ditto.
|
|
|
|
(class fhandler_disk_file): Ditto.
|
|
|
|
* fhandler.cc (fhandler_base::open): Add FILE_WRITE_ATTRIBUTES
|
|
|
|
to query_write_control access flags.
|
|
|
|
(fhandler_base::link): New method.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Don't try to
|
|
|
|
open with O_WRONLY since query_write_control includes
|
|
|
|
FILE_WRITE_ATTRIBUTES.
|
|
|
|
(fhandler_disk_file::fchown): Ditto.
|
|
|
|
(fhandler_disk_file::facl): Ditto.
|
|
|
|
(fhandler_disk_file::link): New method. Touch st_ctime on successful
|
|
|
|
link.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::link): New method.
|
|
|
|
* syscalls.cc (link): Move functionality into fhandler method link.
|
|
|
|
Just call this method from here.
|
|
|
|
|
2005-02-20 04:03:18 +08:00
|
|
|
2005-02-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (class fhandler_socket): Declare new methods fchown,
|
|
|
|
fchmod and facl.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::fstat): Handle AF_LOCAL
|
|
|
|
sockets.
|
|
|
|
(fhandler_socket::fchmod): New method.
|
|
|
|
(fhandler_socket::fchown): New method.
|
|
|
|
(fhandler_socket::facl): New method.
|
|
|
|
|
2005-02-20 03:58:38 +08:00
|
|
|
2005-02-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* localtime.cc: Temporary implementation of setting __tzrule's offset
|
|
|
|
member to be used by strftime.
|
|
|
|
(__tzrule): New global variable.
|
|
|
|
(tzparse): Set __tzrule's offset member appropriately.
|
|
|
|
|
2005-02-18 01:21:11 +08:00
|
|
|
2005-02-17 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Set fs flag when a unix-domain socket
|
|
|
|
is detected.
|
|
|
|
|
2005-02-17 20:41:49 +08:00
|
|
|
2005-02-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat): Set st_ctime if
|
|
|
|
has_changed flag is set.
|
|
|
|
(fhandler_disk_file::touch_ctime): Reset has_changed flag on success.
|
|
|
|
|
2005-02-17 20:08:16 +08:00
|
|
|
2005-02-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* times.cc (utimes): Open files with FILE_WRITE_ATTRIBUTES first,
|
|
|
|
if that fails, try opeing with GENERIC_WRITE. Fix comments.
|
|
|
|
|
2005-02-16 08:24:38 +08:00
|
|
|
2005-02-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.h (path_conv::issocket): Return true if device == FH_UNIX rather
|
|
|
|
than expecting path_conv to set a flag.
|
|
|
|
|
2005-02-11 23:37:26 +08:00
|
|
|
2005-02-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.cc (fhandler_base::raw_write): Mark as changed on
|
|
|
|
successful write.
|
|
|
|
* fhandler.h (fhandler_base::status_flags): Add 'has_changed' flag.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Call
|
|
|
|
fhandler_disk_file's own open and close instead of open_fs and
|
|
|
|
close_fs. Mark as changed on success.
|
|
|
|
(fhandler_disk_file::fchown): Ditto.
|
|
|
|
(fhandler_disk_file::facl): Ditto.
|
|
|
|
(fhandler_disk_file::ftruncate): Ditto.
|
|
|
|
(fhandler_base::open_fs): Mark as changed when O_TRUNC flag on existing
|
|
|
|
file is set.
|
|
|
|
(fhandler_disk_file::close): Set st_ctime if has_changed flag is set.
|
|
|
|
|
2005-02-11 23:24:15 +08:00
|
|
|
2005-02-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::release): Reset ev here if it exists.
|
2005-02-12 06:26:20 +08:00
|
|
|
(cygthread::terminate_thread): Eliminate racy code which reset ev and
|
2005-02-11 23:24:15 +08:00
|
|
|
thread_sync. Remove a few nonsensical inuse checks. Exit at the
|
|
|
|
bottom.
|
|
|
|
(cygthread::detach): Rewrite to again try to ensure that we don't say
|
|
|
|
we're signalled when we are not signalled.
|
|
|
|
* fhandler.cc (fhandler_base::raw_read): Revert to signalling read
|
|
|
|
success quickly.
|
|
|
|
* pipe.cc (fhandler_pipe::close): Use base method to close handle.
|
|
|
|
* sigproc.h (WAIT_SIG_PRIORITY): Just trundle along at normal priority
|
|
|
|
to allow the pipe thread to do its thing if possible.
|
|
|
|
|
|
|
|
* pinfo.h (pinfo::zap_cwd): Declare new function.
|
|
|
|
(pinfo::zap_cwd): Move 'cd out of the way code' here.
|
|
|
|
(pinfo::exit): Use it here.
|
|
|
|
* spawn.cc (spawn_guts): And here.
|
|
|
|
|
2005-02-11 22:27:36 +08:00
|
|
|
2005-02-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* times.cc (utimes): Open files with GENERIC_WRITE on file systems
|
|
|
|
not supporting ACLs.
|
|
|
|
|
2005-02-10 03:28:06 +08:00
|
|
|
2005-02-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Fix checking
|
|
|
|
lseek return code.
|
|
|
|
|
2005-02-09 04:59:41 +08:00
|
|
|
2005-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* times.cc (timeval_to_filetime): Define first parameter const.
|
|
|
|
(utimes): Define second parameter to const according to SUSv3.
|
|
|
|
(utime): Ditto.
|
|
|
|
* include/sys/utime.h (utime) : Change declaration accordingly.
|
|
|
|
|
2005-02-09 00:56:02 +08:00
|
|
|
2005-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::detach): Just test thread handle after
|
|
|
|
signal arrived, don't wait infinitely for it.
|
|
|
|
|
2005-02-09 00:19:58 +08:00
|
|
|
2005-02-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pipe.cc (fhandler_pipe::read): Remove hold over from old read_state
|
|
|
|
implementation.
|
|
|
|
|
2005-02-07 23:27:40 +08:00
|
|
|
2005-02-06 Yitzchak Scott-Thoennes <sthoenna@efn.org>
|
|
|
|
|
|
|
|
* net.cc (cygwin_gethostbyname): Be more picky about what's a numeric
|
|
|
|
address string, and use tls in that case too.
|
|
|
|
|
2005-02-07 13:28:49 +08:00
|
|
|
2005-02-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* exceptions.cc: Make windows_system_directory non-static.
|
|
|
|
* pinfo.cc (pinfo::exit): Change innocuous cd'ed location to one that
|
|
|
|
is more likely to exist.
|
|
|
|
|
2005-02-06 19:15:29 +08:00
|
|
|
2005-02-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Leave symlink expansion loop in case
|
|
|
|
a not-ENOENT error happens.
|
|
|
|
|
|
|
|
* cygheap.h (cygheap_fdmanip::fhandler_pipe *): New cast operator.
|
|
|
|
* pinfo.cc (_pinfo::commune_recv): Add PICOM_PIPE_FHANDLER handling.
|
|
|
|
(_pinfo::commune_send): Ditto.
|
|
|
|
(_pinfo::pipe_fhandler): New method.
|
|
|
|
* pinfo.h (enum picom): Add PICOM_PIPE_FHANDLER.
|
|
|
|
(_pinfo::pipe_fhandler): Declare.
|
|
|
|
* pipe.cc (fhandler_pipe::open): Rewrite. Allow to open foreign
|
|
|
|
pipe handles.
|
|
|
|
|
2005-02-06 13:04:34 +08:00
|
|
|
2005-02-03 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.h (cygthread::terminate_thread): Reflect return value.
|
|
|
|
* cygthread.cc (cygthread::detach): Be more careful about ensuring that
|
|
|
|
sigwait is properly waited for to avoid later missynchronization.
|
|
|
|
(cygthread::terminate_thread): Return true if thread was actually
|
|
|
|
terminated and all handles were closed.
|
|
|
|
* fhandler_base.cc (fhandler_base::raw_read): Use signal_read_state
|
|
|
|
rather than raw calls to win32 api.
|
|
|
|
(fhandler_base::read): Ditto.
|
|
|
|
* fhandler.h (fhandler_pipe::fixup_after_exec): Use method to create
|
|
|
|
read_state signalling.
|
|
|
|
(fhandler_pipe::create): Ditto.
|
|
|
|
|
|
|
|
* Makefile.in: Make some more files -fomit-frame-pointer.
|
|
|
|
|
2005-02-03 06:42:06 +08:00
|
|
|
2005-02-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_base::ftruncate): Define new virtual method.
|
|
|
|
(fhandler_disk_file::ftruncate): Ditto.
|
|
|
|
* fhandler.cc (fhandler_base::ftruncate): New method.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Ditto.
|
|
|
|
* syscalls.cc (ftruncate64): Move functionality into fhandlers.
|
|
|
|
Call fhandler method from here.
|
|
|
|
|
2005-02-02 18:09:51 +08:00
|
|
|
2005-02-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* pipe.cc (fhandler_pipe::dup): Fix conditionals in case of error.
|
|
|
|
|
2005-02-02 17:46:52 +08:00
|
|
|
2005-02-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* times.cc (utimes): Mark st_ctime for update according to SUSv3.
|
|
|
|
|
2005-02-02 01:16:14 +08:00
|
|
|
2005-02-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* fhandler_proc.cc (format_proc_partitions): Remove PartitionType check
|
|
|
|
since it could skip over partitions that are actually interesting.
|
|
|
|
|
2005-02-02 00:49:13 +08:00
|
|
|
2005-02-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::terminate_thread): Wait briefly for
|
|
|
|
notification event in the event that the thread was actually in the
|
|
|
|
process of exiting.
|
|
|
|
|
|
|
|
* pipe.cc (fhandler_pipe::dup): read_state is not supposed to be
|
|
|
|
inheritable. Fix that.
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Set symlen = 0 to avoid a compiler
|
|
|
|
warning.
|
|
|
|
|
|
|
|
* devices.h (devices::parsedisk): Declare new function.
|
|
|
|
* devices.in (devices::parsedisk): Define new function.
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Use device numbers
|
|
|
|
rather than name.
|
|
|
|
* fhandler_proc.cc (format_proc_partitions): Use parsedisk to generate
|
|
|
|
disk names from numeric codes. (This was broken on two of my
|
|
|
|
systems previously and is still broken now)
|
|
|
|
|
2005-02-02 00:43:29 +08:00
|
|
|
2005-02-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* pipe.cc (fhandler_pipe::open): Allow re-opening of /proc/<pid>/fd
|
|
|
|
pipes of the current process.
|
|
|
|
|
2005-02-01 23:11:47 +08:00
|
|
|
2005-02-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.cc (fhandler_base::get_proc_fd_name): Don't generate
|
|
|
|
"device:" entry.
|
|
|
|
* fhandler.h (fhandler_socket::open): New method.
|
|
|
|
(fhandler_pipe::open): New method.
|
|
|
|
* fhandler_proc.cc (fhandler_proc::exists): Return -2 in case of
|
|
|
|
/proc/self.
|
|
|
|
* fhandler_process.cc (fhandler_process::exists): Return -2 in
|
|
|
|
case of symlinks, -3 for pipes and -4 for sockets.
|
|
|
|
(fhandler_process::fstat): Handle pipes and sockets.
|
|
|
|
(fhandler_process::open): Handle opening /proc/<pid>/fd.
|
|
|
|
(fhandler_process::fill_filebuf): Generate empty names for
|
|
|
|
non exisiting file descriptors.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::get_proc_fd_name): Always
|
|
|
|
generate "socket:[number]" strings as on Linux.
|
|
|
|
(fhandler_socket::open): New method.
|
|
|
|
(fhandler_socket::fstat): Always return socket type.
|
|
|
|
* path.cc (symlink_info::set): Remove unused second parameter.
|
|
|
|
(path_conv::check): Handle pipes and sockets in /proc.
|
|
|
|
Set correct device type for AF_LOCAL sockets.
|
|
|
|
* pinfo.cc (_pinfo::commune_recv): Generate empty names for
|
|
|
|
non exisiting file descriptors.
|
|
|
|
(_pinfo::fd): Ditto.
|
|
|
|
* pipe.cc (fhandler_pipe::open): New method.
|
|
|
|
|
2005-02-01 05:29:59 +08:00
|
|
|
2005-01-31 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* path.h (path_conv::set_name): Declare new function.
|
|
|
|
* path.cc (path_conv::set_name): Define new function.
|
|
|
|
* fhandler.h (fhandler_dev_null::open): Declare new function.
|
|
|
|
* fhandler.cc (fhandler_dev_null::open): Define new function.
|
|
|
|
|
2005-02-01 04:55:33 +08:00
|
|
|
2005-01-31 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* smallprint.c (rnarg): Use long rather than unsigned long so that we
|
|
|
|
get proper sign extension.
|
|
|
|
|
2005-02-01 04:02:36 +08:00
|
|
|
2005-01-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* environ.cc (set_traverse): New function.
|
|
|
|
(parse_thing): Add "traverse" option. Sort options alphabetically.
|
|
|
|
(environ_init): On NT, switch on traverse checking by default.
|
|
|
|
|
2005-02-01 03:57:05 +08:00
|
|
|
2005-01-31 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* smallprint.c (__rn): Regparmize.
|
|
|
|
|
2005-02-01 03:52:03 +08:00
|
|
|
2005-01-31 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* smallprint.c (rnarg): New macro.
|
|
|
|
(rnargLL): Ditto.
|
|
|
|
(__rn): Rename from 'rn', add a mask argument, and use the mask
|
|
|
|
argument to control how many significant digits to care about.
|
|
|
|
(__small_vsprintf): Use __rn, rnarg, rnargLL, as appropriate.
|
|
|
|
|
2005-01-31 22:34:07 +08:00
|
|
|
2005-01-31 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::exit): Only return low-order 16 bits when exiting.
|
|
|
|
|
2005-01-31 20:02:07 +08:00
|
|
|
2005-01-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_process.cc (format_process_maps): Get destbuf argument by
|
|
|
|
reference. Allow resizing of destbuf as necessary. Fix string
|
|
|
|
handling.
|
|
|
|
|
2005-01-31 18:28:55 +08:00
|
|
|
2005-01-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygheap.h (class cygheap_fdenum): New class to enumerate used
|
|
|
|
fhandlers.
|
|
|
|
* dtable.h (class dtable): Add cygheap_fdenum as friend class.
|
|
|
|
* fhandler.h (fhandler_base::get_proc_fd_name): New virtual method
|
|
|
|
to return a name for /proc/<pid>/fd.
|
|
|
|
(fhandler_socket::get_proc_fd_name): Ditto.
|
|
|
|
(fhandler_pipe::get_proc_fd_name): Ditto.
|
|
|
|
(fhandler_virtual::opendir): Make virtual method.
|
|
|
|
(fhandler_process::opendir): New method.
|
|
|
|
* fhandler.cc (fhandler_base::get_proc_fd_name): New method.
|
|
|
|
* fhandler_process.cc: Include ctype.h.
|
|
|
|
(PROCESS_FD): Define.
|
|
|
|
(process_listing): Add "fd".
|
|
|
|
(fhandler_process::exists): Fix comment. Return 1 in case of "fd"
|
|
|
|
directory. Handle files below "fd".
|
|
|
|
(fhandler_process::fstat): Drop "self" handling. Set correct link
|
|
|
|
count for directories.
|
|
|
|
(fhandler_process::opendir): New method to handle "fd" directory.
|
|
|
|
(fhandler_process::readdir): Add "fd" handling.
|
|
|
|
(fhandler_process::open): Drop "self" handling.
|
|
|
|
(fhandler_process::fill_filebuf): Ditto. Add "fd" handling. Fix
|
|
|
|
"maps" output string.
|
|
|
|
* fhandler_registry.cc (fhandler_registry::fstat): Set correct link
|
|
|
|
count for directories.
|
|
|
|
* fhandler_socket.cc (fhandler_socket::get_proc_fd_name): New method.
|
|
|
|
* path.cc (symlink_info::set): Fix thinko.
|
|
|
|
* pinfo.cc (_pinfo::commune_recv): Rename pathbuf to path throughout.
|
|
|
|
Drop local path variable in PICOM_FIFO case. Fix debug output.
|
|
|
|
Close handles as early as possible. Add PICOM_FDS and PICOM_FD
|
|
|
|
handling.
|
|
|
|
(_pinfo::commune_send): Add PICOM_FDS and PICOM_FD handling.
|
|
|
|
(_pinfo::fd): New method.
|
|
|
|
(_pinfo::fds): New method.
|
|
|
|
* pinfo.h (enum picom): Add PICOM_FDS and PICOM_FD.
|
|
|
|
(_pinfo::fd): Declare.
|
|
|
|
(_pinfo::fds): Declare.
|
|
|
|
* pipe.cc (fhandler_pipe::get_proc_fd_name): New method.
|
|
|
|
|
2005-01-29 21:34:34 +08:00
|
|
|
2005-01-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* smallprint.c (rn): Change uval to unsigned long long to fix 64 bit
|
|
|
|
handling.
|
|
|
|
* fhandler_process.cc (format_process_maps): Print major, minor and
|
|
|
|
inode numbers correctly.
|
|
|
|
|
2005-01-29 19:23:07 +08:00
|
|
|
2005-01-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* autoload.cc (GetModuleFileNameExA): Add.
|
|
|
|
(GetModuleInformation): Add.
|
|
|
|
(QueryWorkingSet): Add.
|
|
|
|
* fhandler.h (fhandler_virtual::get_filebuf): New method.
|
|
|
|
* fhandler_proc.cc (PROC_SELF): Define.
|
|
|
|
(proc_fhandlers): Change type of self to FH_PROC.
|
|
|
|
(fhandler_proc::exists): Return -3 if self.
|
|
|
|
(fhandler_proc::fstat): Handle self as symlink.
|
|
|
|
(fhandler_proc::fill_filebuf): Handle self.
|
|
|
|
* fhandler_process.cc: Include psapi.h.
|
|
|
|
(PROCESS_EXENAME): Remove.
|
|
|
|
(PROCESS_MAPS): Define.
|
|
|
|
(PROCESS_ROOT): Define.
|
|
|
|
(PROCESS_EXE): Define.
|
|
|
|
(PROCESS_CWD): Define.
|
|
|
|
(process_listing): Remove "exename", add "maps, "root", "exe" and
|
|
|
|
"cwd" elements.
|
|
|
|
(fhandler_process::exists): Return -2 for symlinks.
|
|
|
|
(fhandler_process::fstat): Handle symlinks.
|
|
|
|
(fill_filebuf): Evaluate pid if pid is 0. Use exename handling for
|
|
|
|
exe. Handle maps, root and cwd.
|
|
|
|
(format_process_maps): New function evaluating "maps".
|
|
|
|
* path.cc (symlink_info::set): New method to fill symlink_info
|
|
|
|
with data matching virtual symlinks.
|
|
|
|
(path_conv::check): Handle virtual symlinks.
|
|
|
|
* pinfo.cc (_pinfo::commune_recv): Add PICOM_CWD and PICOM_ROOT
|
|
|
|
handling.
|
|
|
|
(_pinfo::commune_send): Ditto.
|
|
|
|
(_pinfo::root): New function.
|
|
|
|
(_pinfo::cwd): New function.
|
|
|
|
* pinfo.h (enum picom): Add PICOM_CWD and PICOM_ROOT.
|
|
|
|
(_pinfo::root): Declare.
|
|
|
|
(_pinfo::cwd): Declare.
|
|
|
|
|
2005-01-29 13:39:07 +08:00
|
|
|
2005-01-29 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (new): Add a little more debugging.
|
|
|
|
* thread.cc (pthread_null::exit): Add a _my_tls.remove() for safety.
|
|
|
|
|
2005-01-29 11:09:50 +08:00
|
|
|
2005-01-28 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygtls.cc (cygtls::call2): Move socket cleanup.
|
|
|
|
(cygtls::remove): Move socket cleanup here. Don't use _my_tls to
|
|
|
|
reference it.
|
|
|
|
|
2005-01-27 02:21:22 +08:00
|
|
|
2005-01-26 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::init): Avoid a compiler warning.
|
|
|
|
|
2005-01-26 21:07:48 +08:00
|
|
|
2005-01-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* syscalls.cc (setpriority): Implement PRIO_PGRP, PRIO_USER and
|
|
|
|
setting priority in other Cygwin processes.
|
|
|
|
(getpriority): Implement PRIO_PGRP, PRIO_USER and getting nice value
|
|
|
|
from other processes.
|
|
|
|
|
2005-01-26 12:34:19 +08:00
|
|
|
2005-01-26 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* path.cc (path_conv::check): Return ENOTDIR rather than ENOENT
|
|
|
|
when a component is not a directory. Remove unreachable code.
|
|
|
|
(digits): Delete.
|
|
|
|
|
2005-01-26 08:15:11 +08:00
|
|
|
2005-01-25 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.h (pinfo::init): Make third parameter non-optional and
|
|
|
|
propagate change throughout.
|
|
|
|
* pinfo.cc (set_myself): Pass INVALID_HANDLE_POINTER if h is NULL.
|
|
|
|
(pinfo::init): Make third parameter non-optional. Eliminate use of
|
|
|
|
PID_EXECED as an argument. Put setting of handle back inside loop but
|
|
|
|
reorganize to try to open it only when necessary.
|
|
|
|
|
2005-01-26 06:45:11 +08:00
|
|
|
2005-01-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygwin.din: Export getpriority and setpriority.
|
|
|
|
* fork.cc (fork_parent): Copy parent's nice value into child.
|
|
|
|
* spawn.cc (spawn_guts): Ditto.
|
|
|
|
* miscfuncs.cc (winprio_to_nice): New function.
|
|
|
|
(nice_to_winprio): Ditto.
|
|
|
|
* pinfo.cc (pinfo_init): If parent is not a Cygwin process, set
|
|
|
|
default nice value according to current Win32 priority class.
|
|
|
|
* pinfo.h (class _pinfo): Add nice member.
|
|
|
|
* syscalls.cc (setpriority): New function, only implementing
|
|
|
|
PRIO_PROCESS for now.
|
|
|
|
(getpriority): Ditto.
|
|
|
|
(nice): Just call setpriority.
|
|
|
|
* wincap.h (wincaps::has_extended_priority_class): New element.
|
|
|
|
* wincap.cc: Implement above element throughout.
|
|
|
|
* winsup.h: Add prototypes for winprio_to_nice and nice_to_winprio.
|
|
|
|
* include/limits.h (NZERO): New define.
|
|
|
|
* include/cygwin/types.h (id_t): New datatype.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
* include/sys/resource.h: Add PRIO_XXX defines and prototypes for
|
|
|
|
getpriority and setpriority.
|
|
|
|
|
2005-01-26 04:28:40 +08:00
|
|
|
2005-01-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (realpath): Allow to expand with .exe suffix.
|
|
|
|
|
2005-01-23 05:47:04 +08:00
|
|
|
2005-01-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* spawn.cc (spawn_guts): Perform same "cd" as in pinfo::exit below to
|
|
|
|
make sure that a stub process does not keep the current working
|
|
|
|
directory busy after the "execed" process has exited.
|
|
|
|
|
2005-01-23 05:17:53 +08:00
|
|
|
2005-01-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::init): Move everything but the MapViewOfFileEx out
|
|
|
|
of the loop since trying multiple times to call CreateFileMapping
|
|
|
|
doesn't make much sense. Try to structure the loop a little better so
|
|
|
|
that exiting with a break does the right thing.
|
|
|
|
(pinfo::release): Release shared memory area if it exists and close
|
|
|
|
handle if it exists.
|
|
|
|
|
2005-01-23 02:07:10 +08:00
|
|
|
2005-01-22 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::maybe_set_exit_code_from_windows): Make sure that
|
|
|
|
process has exited before getting an error code.
|
|
|
|
(pinfo::exit): "cd" to innocuous location before exiting to make sure
|
|
|
|
that process does not keep the current working directory busy while it
|
|
|
|
is in the process of really exiting.
|
|
|
|
|
2005-01-18 21:00:18 +08:00
|
|
|
2005-01-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* autoload.cc (CoInitialize): Remove.
|
|
|
|
(CoUninitialize): Remove.
|
|
|
|
(CoCreateInstance): Remove.
|
|
|
|
(CoTaskMemFree): Add.
|
|
|
|
(SHGetDesktopFolder): Add.
|
|
|
|
* path.cc (shortcut_header): Remove.
|
|
|
|
(shortcut_initalized): Remove.
|
|
|
|
(GUID_shortcut): New static GUID.
|
|
|
|
(struct win_shortcut_hdr): New struct describing Windows shortcut
|
|
|
|
header structure.
|
|
|
|
(symlink_worker): Rewrite creating Windows shortcuts. Create
|
|
|
|
ITEMIDLIST if target exists. Only write once.
|
|
|
|
(cmp_shortcut_header): Use win_shortcut_hdr structure for comparison.
|
|
|
|
(check_shortcut): Rewrite to read only once from file. Allow skipping
|
|
|
|
an ITIMIDLIST in the file.
|
|
|
|
|
2005-01-17 12:12:08 +08:00
|
|
|
2005-01-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.h (maybe_set_exit_code_from_windows): Renamed from
|
|
|
|
set_exit_state.
|
|
|
|
* pinfo.cc (pinfo::exit): Use renamed function.
|
|
|
|
(proc_waiter): Ditto. Make a copy of input argument to avoid problems
|
|
|
|
when procs array is shuffled. Flag when copy is made so that
|
|
|
|
remove_proc knows when it is safe to reshuffle.
|
|
|
|
* sigproc.cc (proc_terminate): Don't flag process_state as PID_EXITED.
|
|
|
|
(remove_proc): Wait for waiter to finish copying pinfo element before
|
|
|
|
moving it (an actual wait should be an extremely rare event).
|
|
|
|
|
2005-01-17 01:00:27 +08:00
|
|
|
2005-01-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* init.cc (dll_entry): Remove unused extern.
|
|
|
|
|
|
|
|
* include/sys/cygwin.h: Remove PID_ZOMBIE.
|
|
|
|
* pinfo.h: Rename EXITCODE_* defines.
|
|
|
|
(pinfo::set_exit_state): Remove parameter.
|
|
|
|
* pinfo.cc (set_exit_state): Remove parameter. Reverse sense of test
|
|
|
|
so that exitcode is checked for having been set rather than not having
|
|
|
|
been set. Set flag when exitcode has been established. Don't set
|
|
|
|
PID_STATE here.
|
|
|
|
(pinfo::init): Remove exitcode initialization.
|
|
|
|
(pinfo::exit): Reflect change in EXITCODE_* naming. Set flag when
|
|
|
|
exitcode has been established. Reflect change in arguments to
|
|
|
|
set_process_state.
|
|
|
|
(proc_waiter): Reflect change in arguments to set_process_state. Set
|
|
|
|
process_state here and only here.
|
|
|
|
* fhandler_process.cc (fhandler_process::fill_filebuf): Reflect removal
|
|
|
|
of PID_ZOMBIE define.
|
|
|
|
(format_process_stat): Ditto.
|
|
|
|
(format_process_status): Ditto.
|
|
|
|
* sigproc.cc (pid_exists): Ditto.
|
|
|
|
(stopped_or_terminated): Ditto. Make sure that only low-order 16 bits of
|
|
|
|
exitcode are used.
|
|
|
|
* spawn.cc (spawn_guts): Reflect change in EXITCODE_* naming.
|
|
|
|
|
2005-01-16 07:43:42 +08:00
|
|
|
2005-01-15 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* sigproc.cc (sig_send): Don't complain if attempt to send signal to
|
|
|
|
myself fails after I've "execed".
|
|
|
|
|
2005-01-15 06:03:40 +08:00
|
|
|
2005-01-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::facl): Pretend successful
|
|
|
|
SETACL if no acls are available.
|
|
|
|
* fhandler.cc (fhandler_base::facl): Implement to return sensible
|
|
|
|
values on GETACL and GETACLCNT. Pretend successful SETACL.
|
|
|
|
* fhandler_virtual.cc (fhandler_virtual::facl): Ditto.
|
|
|
|
|
2005-01-14 06:56:20 +08:00
|
|
|
2005-01-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_disk_file::touch_ctime): Declare.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::touch_ctime): New method
|
|
|
|
to set file's ctime.
|
|
|
|
(fhandler_disk_file::fchmod): Try opening file for writing first.
|
|
|
|
Set file's ctime on success.
|
|
|
|
(fhandler_disk_file::fchown): Ditto.
|
|
|
|
(fhandler_disk_file::facl): Ditto.
|
|
|
|
|
2005-01-14 06:18:57 +08:00
|
|
|
2005-01-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::exit): Don't access self after releasing it.
|
|
|
|
* path.h (path_conv::path_conv): Fill path with native device
|
|
|
|
name in case of device argument.
|
|
|
|
|
2005-01-14 04:10:04 +08:00
|
|
|
2005-01-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_serial.cc (fhandler_serial::dup): Call overlapped_setup
|
|
|
|
for child, not for parent.
|
|
|
|
|
2005-01-14 00:38:35 +08:00
|
|
|
2005-01-13 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* init.cc (dll_entry): Nuke attempt to set exit code since parent will
|
|
|
|
use windows exit code if needed.
|
|
|
|
* pinfo.cc (pinfo::exit): Move release() here to minimize pid creation
|
|
|
|
race (suggested by Pierre Humblet).
|
|
|
|
|
2005-01-13 06:40:46 +08:00
|
|
|
2005-01-12 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
Reorganize header file inclusion throughout so that cygerrno.h comes
|
|
|
|
first.
|
|
|
|
* fhandler.h (select_record::thread_errno): Save any encountered errno
|
|
|
|
here.
|
|
|
|
(select_record::set_select_errno): New function.
|
|
|
|
(select_record::saw_error): New function.
|
|
|
|
(select_record::select_record): Initialize thread_errno to zero.
|
|
|
|
* select.cc (set_handle_or_return_if_not_open): Set thread_errno on
|
|
|
|
failure.
|
|
|
|
(select_stuff::wait): Record errno for later resurrection in calling
|
|
|
|
thread.
|
|
|
|
(peek_serial): Ditto.
|
|
|
|
|
2005-01-13 04:06:17 +08:00
|
|
|
2005-01-12 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* syscalls.cc (system): Use "/bin/sh" as per linux and (sorta) SUSv3.
|
|
|
|
|
2005-01-13 02:05:07 +08:00
|
|
|
2005-01-12 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::exit): Don't assume that this == myself.
|
|
|
|
|
2005-01-12 00:58:31 +08:00
|
|
|
2005-01-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (pinfo::init): Don't close input handle on temporary (?)
|
|
|
|
failure.
|
|
|
|
|
2005-01-11 23:31:04 +08:00
|
|
|
2005-01-11 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.h (_pinfo::set_exit_state): Declare new function.
|
|
|
|
(pinfo::exit): Move here from _pinfo::exit.
|
|
|
|
* sigproc.cc (child_info::sync): Use new function to set exitcode and
|
|
|
|
process_state.
|
|
|
|
* pinfo.cc (_pinfo::exit): Ditto.
|
|
|
|
(proc_waiter): Ditto.
|
|
|
|
(_pinfo::set_exit_state): Define new function.
|
|
|
|
(_pinfo::dup_proc_pipe): Close handle when there is no parent process
|
|
|
|
around to care about the exit value.
|
|
|
|
* dcrt0.cc (dll_crt0_0): Move subproc_ready synchronization later to
|
|
|
|
make sure that myself is still mapped in parent.
|
|
|
|
(do_exit): Reflect movement to pinfo::exit.
|
|
|
|
(__api_fatal): Ditto.
|
|
|
|
* exceptions.cc (signal_exit): Ditto.
|
|
|
|
* errno.cc (errmap): Map PROC_NOT_FOUND.
|
|
|
|
* init.cc (dll_entry): Release myself before exiting.
|
|
|
|
* sigproc.cc (proc_can_be_signalled): Set errno appropriately.
|
|
|
|
(sig_send): Ditto. Also remove ill-advised test for !myself->sendsig
|
|
|
|
since this is an indication of a process which is still initializating
|
|
|
|
-- it is not an error.
|
|
|
|
(child_info::sync): Don't set exitcode here. Assume that will happen
|
|
|
|
in proc_waiter, if necessary.
|
|
|
|
* spawn.cc (spawn_guts): Delay "wait_for_myself" logic until later.
|
|
|
|
Don't wait at all if the process has already exited. Reflect movement
|
|
|
|
to pinfo::exit.
|
|
|
|
|
2005-01-11 20:42:35 +08:00
|
|
|
2005-01-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* environ.cc (build_env): Disallow empty strings and strings starting
|
|
|
|
with '=' in Win32 environment.
|
|
|
|
|
2005-01-09 02:33:07 +08:00
|
|
|
2005-01-08 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
|
|
|
|
* syscalls.cc (seteuid32): Only change the default dacl when
|
|
|
|
seteuid succeeds. Do not close HKCU.
|
|
|
|
|
2005-01-07 07:00:08 +08:00
|
|
|
2005-01-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_process.cc: Use strcasematch instead of strcasecmp
|
|
|
|
throughout.
|
|
|
|
|
2005-01-07 06:10:08 +08:00
|
|
|
2005-01-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* syscalls.cc (rename): Fix behaviour in case of renaming directories
|
|
|
|
according to SUSv3.
|
|
|
|
|
2005-01-07 01:43:55 +08:00
|
|
|
2005-01-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::open_fs): Don't allow
|
|
|
|
opening directories for writing.
|
|
|
|
|
2005-01-06 22:09:14 +08:00
|
|
|
2005-01-06 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* timer.cc (timer_thread): Pass sigev pointer value as per SuSv3 rather
|
|
|
|
than pointer to sigev.
|
|
|
|
|
2005-01-06 05:40:08 +08:00
|
|
|
2005-01-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* dcrt0.cc (multiple_cygwin_problem): Reorganize error message to not
|
|
|
|
always talk about a "version" when it's not a version.
|
|
|
|
(dll_crt0_0): Change info passed to multiple_cygwin_problem to be a
|
|
|
|
little more precise.
|
|
|
|
* shared.cc (user_shared_initialize): Ditto.
|
|
|
|
(shared_info::initialize): Ditto.
|
|
|
|
|
2005-01-04 22:57:42 +08:00
|
|
|
2005-01-03 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* pinfo.cc (_pinfo::dup_proc_pipe): Can't close proc pipe when execing
|
|
|
|
or we will suffer an exit code race.
|
|
|
|
|
2005-01-04 02:06:26 +08:00
|
|
|
2005-01-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* signal.cc (abort): Call _GLOBAL_REENT's __cleanup.
|
|
|
|
|
2005-01-03 18:59:09 +08:00
|
|
|
2005-01-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* syscalls.cc (setmode): Call _fwalk with _GLOBAL_REENT.
|
|
|
|
|
2005-01-02 10:22:25 +08:00
|
|
|
2005-01-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* cygthread.cc (cygthread::stub): Set inuse to false when exiting.
|
|
|
|
(cygthread::cygthread): Actually pass name as argument to debugging
|
|
|
|
output to avoid SEGV when strace'ing.
|
|
|
|
(cygthread::release): Don't set stack_ptr to NULL, since it is only set
|
|
|
|
once on first entry to a stub not on each stub iteration.
|
|
|
|
(cygthead::exit_thread): Remove obsolete function.
|
|
|
|
* cygthread.h (cygthread::exit_thread): Ditto.
|
|
|
|
|
2005-01-02 08:34:55 +08:00
|
|
|
2005-01-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
|
|
|
|
* shared.cc (open_shared): Don't attempt VirtualAlloc magic if first
|
|
|
|
attempt to map memory fails.
|