Commit Graph

83 Commits

Author SHA1 Message Date
Christopher Faylor
af3e5ed279 * fhandler.cc (fhandler_disk_file::fstat): Allocate enough space for root dir
determination or overflow an array.
2000-04-08 04:47:15 +00:00
Christopher Faylor
0cda2f4609 * exceptions.cc (sigsave): Copy on fork so that we can restore correct behavior
in forked process.
(interruptible): Flag as interruptible when running in main process module.
(interrupt_setup): Save return address and address of return address.
(signal_fixup_after_fork): New function.  Uses above two values to restore
proper behavior to forked process.
(interrupt_on_return): Pass return address address to interupt_setup.
(interrupt_now): Pass NULL for return address address to interrupt_setup.
* fork.cc (fork): Call signal_fixup_after_fork.
* shared.h: Lint cleanups.
* winsup.h: Ditto.
2000-04-08 04:13:12 +00:00
Ron Parker
61e196e361 Updated to build cinstall with mingw. See Changelog for numerous setup.c changes. 2000-04-07 22:12:41 +00:00
Christopher Faylor
25a99cabd3 Bump minor version. 2000-04-07 00:09:27 +00:00
Christopher Faylor
aefbf3885d * fhandler.h (select_stuff): Eliminate use of 'total'.
* select.cc (cygwin_select): Ditto.
(select_stuff::wait): Use maximum size for w4 rather than calculating what will
fit.
2000-04-03 18:15:01 +00:00
Corinna Vinschen
476839eb03 * grp.cc (parse_grp): Save empty array instead of
NULL in gr_mem if no supplementary group is given.
2000-04-03 18:08:13 +00:00
Christopher Faylor
6c8ef0489b update copyright. 2000-04-03 01:29:06 +00:00
Corinna Vinschen
796e3b20bc * newlib/libc/include/sys/unistd.h: Add prototypes for
fchmod, fchown, lchown.
        * winsup/cygwin/syscalls.cc (chown_worker): Use previous
        uid/gid if new uid/gid is -1.
        New static function with chown functionality.
        (chown): Call chown_worker with SYMLINK_FOLLOW.
        (fchown): New function. Call chown_worker with SYMLINK_FOLLOW.
        (lchown): New function. Call chown_worker with SYMLINK_IGNORE.
        * cygwin.din: Add symbols for fchown, lchown.
        * path.cc (symlink): Call `set_file_attribute()' and
        `SetFileAttributeA()' instead of `chmod()' to set
        uid/gid correct.
2000-04-02 20:42:42 +00:00
Christopher Faylor
c90d7012d3 * include/wininet.h: Add three more "INTERNET_OPTIONS". 2000-04-02 01:52:38 +00:00
Christopher Faylor
fd5afe2066 * MAINTAINERS: Add Ron Parker as maintainer of cinstall stuff.
Add ChangeLog to doc directory.
2000-03-31 04:46:47 +00:00
Mumit Khan
ab81a36772 2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
* Makefile.in (subdirs): Workaround for broken shells.
2000-03-31 04:43:46 +00:00
Mumit Khan
152e16e798 2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
* include/winbase.h (CreateHardLink{A,W}): Add prototypes.
	* include/winerror.h (ERROR_TOO_MANY_LINKS): Add macro.
	* include/winnt.h (SEC_*): Add macros.
	* lib/th32.def: Use Kernel32.dll instead of TH32.DLL.
2000-03-30 06:10:11 +00:00
Mumit Khan
f36f4868d1 2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
* include/ole.h: Workaround for C++ parser bug.
	* include/rpcdcep.h: Likewise.
	* include/winsock.h: Likewise.
2000-03-30 06:08:58 +00:00
Christopher Faylor
b0ddfa70a5 Simplify constructors and initializers for select_record. 2000-03-30 04:23:11 +00:00
Christopher Faylor
e3be633dd8 * fhandler.h (select_record): Explicitly zero elements of this class.
(select_stuff): Ditto.
* select.cc (cygwin_select): Eliminate memset zero of sel.
2000-03-30 03:51:30 +00:00
Christopher Faylor
d29b6111a5 * Makefile.in: Use default rules when compiling cygrun.o.
* dcrt0.cc (host_dependent_constants::init): Limit non-NT platforms to 32K
chunks when copying regions during a fork.
* path.cc (symlink_check_one): Add temporary debugging output.  Simplify
PATH_EXEC test.
* syscalls.cc (stat_suffixes): Null terminate this list.
2000-03-28 21:49:16 +00:00
Christopher Faylor
1bee0008e6 * include/winnt.h: Eliminate duplicate PCONTEXT and LPCONTEXT typedefs. 2000-03-26 19:24:12 +00:00
Christopher Faylor
c114dfb0c0 * path.cc (symlink_check_one): Recognize symlink settings from the mount table.
* path.h: Make PATH_SYMLINK an alias for MOUNT_SYMLINK.
* syscalls.cc (stat_worker): Use extension search mechanism in path_conv to
look for .exe rather than trying to special case it here.
* mount.h: Make MOUNT_SYMLINK a real option.
2000-03-26 01:54:22 +00:00
Christopher Faylor
4f7831c1f5 * environ.cc: Add TMPDIR to the list of environment variables which are
converted to POSIX format.
* sigproc.cc (proc_terminate): Don't attempt to delete when a muto pointer is
NULL.
2000-03-25 05:25:27 +00:00
Corinna Vinschen
1b16b354fa * syscalls.cc (stat_worker): Set st_nlink to 1 on remote drives. 2000-03-19 11:05:14 +00:00
Christopher Faylor
5bc5ee4457 * times.cc: Fix extern declarations for variables that are exported but used by
this modules.
2000-03-19 04:14:07 +00:00
Christopher Faylor
731d9d5b3c * times.cc: Remove unneeded (and incorrect) externs. 2000-03-19 04:05:14 +00:00
Christopher Faylor
c6c9f06b7c Patch suggested by Mumit Khan <khan@xraylith.wisc.edu>:
* strace.cc (_impure_ptr): New global variable to make strace build under
Cygwin gcc.
2000-03-19 03:53:18 +00:00
Christopher Faylor
72ac8b4f0f * Makefile.in: Make CXXFLAGS consistent with cygwin. 2000-03-18 17:45:35 +00:00
Christopher Faylor
073519645b * dcrt0.cc (host_dependent_constants::init): Eliminate DELETE flag from shared
constant.
2000-03-18 06:33:33 +00:00
Christopher Faylor
87b82db4e7 * delqueue.cc (delqueue_list::queue_file): Add some debugging.
* path.h (class path_conv): Add a char * operator for the most common case.
* syscalls.cc (_unlink): Rewrite to use FILE_FLAG_DELETE_ON_CLOSE when possible
(i.e., on NT).
2000-03-18 06:26:14 +00:00
Corinna Vinschen
2be36bd9c4 * fhandler.cc (fhandler_base::open): Call set_file_attribute() only if a file is really created. 2000-03-17 17:22:53 +00:00
Corinna Vinschen
af792540a6 Change ChangeLog entry to more common format. 2000-03-16 20:46:50 +00:00
Corinna Vinschen
5d4af61e5d * security.cc (set_process_privileges): Removed `static'.
(get_nt_attribute): Returns uid and gid additionally. Removed call
        to set_process_privileges().
        (get_file_attribute): Returns uid and gid additionally. Don't
        call ntea if ntsec is ON.
        (set_nt_attribute): Removed call to set_process_privileges().
        Don't call ntea if ntsec is ON.
        (acl): Removed call to set_process_privileges().
        * dcrt0.cc (dll_crt0_1): Calls set_process_privileges() now.
        * winsup.h: New prototype for set_process_privileges(),
        changed prototype for get_file_attribute().
        * fhandler.cc (get_file_owner): Discarded.
        (get_file_group): Ditto.
        (fhandler_disk_file::fstat): Discard calls to get_file_owner() and
        get_file_group().
        * path.cc (path_conv::path_conv): Added debugging output for result
        of GetVolumeInformation().
        (mount_info::conv_to_win32_path): Call backslashify() with pathbuf
        instead of src_path.
        * syscalls.cc (chown): Reformatted.
        (chmod): Replace get_file_owner() and get_file_group() calls
        by a call to get_file_attribute(). Discard local variable has_acls.
        Slightly reformatted.
        (stat_worker): Replaced idiot's (it's me) root dir check by call
        to rootdir(). Don't call num_entries() on remote drives.
        Discard local variable has_acls.
2000-03-16 19:35:18 +00:00
Corinna Vinschen
427cf50a1a * errno.cc: Map ERROR_NOACCESS to EFAULT. 2000-03-15 20:40:07 +00:00
Christopher Faylor
181438ea70 * spawn.cc (spawn_guts): Restore dependency on signal_arrived. It's needed to
wake up the WaitForSingleObject.
2000-03-15 19:29:15 +00:00
Christopher Faylor
1b534ee1be * Makefile.in: Use MINGW_CXXFLAGS when compiling strace. 2000-03-15 14:38:09 +00:00
Christopher Faylor
332600d80c Pipe changes throughout suggested by Eric Fifer <EFifer@sanwaint.com>
* debug.cc (threadname_init): Pass name of lock as arg 2 of new_muto.
* malloc.cc (malloc_init): Ditto.
* sigproc.cc (sigproc_init): Ditto.
* exceptions.cc (events_init): Ditto.
(call_handler): Eliminate special case for hExeced.  Report locked thread in
debugging output.
* fhandler.cc (fhandker_pipe::fhandler_pipe): Propagate device type to base
class.
* fhandler.h (fhandler_pipe): Ditto.
* hinfo.cc (hinfo::build_fhandler): Pass specific type of pipe to constructor.
* spawn.cc (spawn_guts): Eliminate dependency on signal when waiting for
subprocess.
* strace.cc: Remove obsolete #ifdef.
* sync.cc (muto::muto): Save the name of the muto.
(muto:~muto): Also release the muto.
* sync.h: Add a muto name field.
* select.cc (peek_pipe): Avoid doing a PeekNamedPipe on the write end of a
pipe.
2000-03-15 04:49:36 +00:00
DJ Delorie
31b3dbe174 settimeofday was listed twice 2000-03-13 22:57:59 +00:00
Christopher Faylor
22fe0c41ec * strace.cc: Throughout, track information like start_time, etc. on a
per-process basis.
2000-03-13 02:23:47 +00:00
Christopher Faylor
3f0b493540 * fhandler.cc (fhandler_base::get_readahead_into_buffer): New function.
* fhandler.h: Declare new function.  Add extra argument to
process_slave_output.
* fhandler_console.cc (fhandler_console::read): Move read ahead code to new
function.
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Move common code
here.
(fhandler_tty_slave::read): Understand readahead.
(fhandler_pty_master::read): Move code to process_slave_output.
* select.cc (peek_pipe): Avoid performing certain checks when non-read and on
inappropriate fh types.
2000-03-12 06:29:54 +00:00
Christopher Faylor
774ea16211 * fhandler_console.cc (fhandler_console::read): Don't even think about breaking
on interrupt if executing in a "cygwin" thread.
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Streamline,
simplify code.
* sigproc.cc (sig_send): Remove debugging statement.
2000-03-12 04:44:37 +00:00
Christopher Faylor
1e8b88023c * sigproc.cc: Set wait_sig priority to normal. 2000-03-11 15:51:46 +00:00
Christopher Faylor
7fecc3e4d6 * sigproc.cc (wait_sig): Add addtional debugging output. 2000-03-10 18:04:20 +00:00
Christopher Faylor
af1dc7ccea * environ.cc: Eliminate oldstack CYGWIN option.
* exceptions.cc (sfta): Eliminate obsolete function.
(sgmb): Eliminate obsolete function.
(class stack_info): Remove MS method for walking the stack.
(stack_info::init): Just initialize required fields.
(stack_info::brute_force): Rename to stack_info::walk.
(handle_exceptions): Pass derived frame pointer to sig_send.
(interrupt_setup): Clear saved frame pointer here.
(interrupt_on_return): thestack is no longer a pointer.
(call_handler): Accept a flag to indicate when a signal was sent from other
than the main thread.  Use saved frame pointer for determining where to place
signal handler call.
(sig_handle): Accept "nonmain" argument.  Pass it to call_handler.
* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Change
debugging output slightly.
* (fhandler_tty_common::__release_output_mutex): Ditto.
(fhandler_tty_slave::read): Fix a comment, remove a goto.
* sigproc.cc (sig_send): Accept an optional frame pointer argument for use when
suspending the main process.  sigcomplete_main is an autoreset event now.  Save
frame pointer for non-main operation.
(wait_sig): Make sigcomplete_main an autoreset event.  Eliminate NOSIGQUEUE.
Pass rc to sig_handle to signify if this was a nonmain process.
* sigproc.h: Reflect change to sig_send argument.
* syscalls.cc (swab): Eliminate swab function since it is now available in
newlib.
* winsup.h (signal_dispatch): Change CONTEXT cx to DWORD ebp.
2000-03-09 21:04:05 +00:00
Christopher Faylor
cba95ef1c8 * sigproc.cc (sig_send): Eliminate sync_sig_send synchronization since it
didn't seem to affect the "bash hangs" problem.
2000-03-07 18:32:40 +00:00
Christopher Faylor
5abc9b830b Throughout use strace class in place of individual functions and variables.
* cygwin.din: Eliminate _strace_wm.
* sigproc.cc (wait_sig): Temporarily add more debugging output.
* include/cygwin/version.h: Bump minor api to reflect export change.
2000-03-07 05:33:09 +00:00
Christopher Faylor
68997e887d * exceptions.cc (call_handler): Streamline to use only one call to
ResumeThread.
* sigproc.cc (sig_send): Use a muto around the ReleaseSemaphore.  Remove
priority setting since it didn't solve anything.
2000-03-05 06:34:55 +00:00
Christopher Faylor
b528f63495 * sigproc.cc (sig_send): Temporarily set priority to highest while sending a
signal.
2000-02-29 05:47:17 +00:00
Mumit Khan
adbc0b0aa7 2000-02-28 Mumit Khan <khan@xraylith.wisc.edu>
* include/largeint.h: Rename HAVE_INT64 macro to _HAVE_INT64 to avoid
	namespace pollution.
	* include/rpcndr.h: Likewise.
	* include/winnt.h: Likewise.
2000-02-29 03:16:14 +00:00
Mumit Khan
1756811b99 2000-02-28 Mumit Khan <khan@xraylith.wisc.edu>
Patches from Jan Nijtmans <j.nijtmans@chello.nl>:
	* include/wtypes.h (PBLOB, LPBLOB): Define.
	* include/winsock2.h: Much more complete version.
	(FD_SET, SOMAXCONN): Protect common macros defined by winsock.h.
2000-02-29 03:14:40 +00:00
Mumit Khan
bb76eb243f 2000-02-28 Mumit Khan <khan@xraylith.wisc.edu>
Patches from Jan Nijtmans <j.nijtmans@chello.nl>:
	* include/winsock.h (FD_CLR): Add missing ')'.
	(timercmp): Fix macro to handle all 6 comparison operators.
	(AF_FIREFOX, AF_UNKNOWN1, AF_BAN, AF_ATM, AF_INET6): Define.
	(AF_MAX): Update.
	(PF_FIREFOX, PF_UNKNOWN1, PF_BAN, PF_ATM, PF_INET6): Define.
2000-02-29 03:13:40 +00:00
Mumit Khan
977ee8850d 2000-02-28 Mumit Khan <khan@xraylith.wisc.edu>
* include/largeint.h: Rename HAVE_INT64 macro to _HAVE_INT64 to avoid
	namespace pollution.
	* include/rpcndr.h: Likewise.
	* include/winnt.h: Likewise.
2000-02-29 03:11:06 +00:00
Mumit Khan
393aa11bce 2000-02-28 Mumit Khan <khan@xraylith.wisc.edu>
* include/shlobj.h (SHGetDataFromIDList{A,W}): Fix typo.
	(SHGetSpecialFolderPath{A,W}): Add prototypes.
2000-02-29 03:10:04 +00:00
Mumit Khan
b37e557227 2000-02-28 Mumit Khan <khan@xraylith.wisc.edu>
* lib/ole32.def: Add missing exports.
2000-02-29 03:08:37 +00:00