Commit Graph

4807 Commits

Author SHA1 Message Date
Corinna Vinschen 2b09be25a3 * 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 11:44:32 +00:00
Christopher Faylor 731028b326 copyright 2005-02-20 04:25:33 +00:00
Corinna Vinschen 0d75ce965c * 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-19 21:53:36 +00:00
Corinna Vinschen c2d0b9d89a * 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-19 20:03:18 +00:00
Corinna Vinschen 2d7606a594 * 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-19 19:58:38 +00:00
Christopher Faylor 2cd6f872f3 * path.cc (path_conv::check): Set fs flag when a unix-domain socket is
detected.
2005-02-17 17:21:11 +00:00
Corinna Vinschen 3419b5bc2b * 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 12:41:49 +00:00
Corinna Vinschen b066a19513 * times.cc (utimes): Open files with FILE_WRITE_ATTRIBUTES first,
if that fails, try opeing with GENERIC_WRITE.  Fix comments.
2005-02-17 12:08:16 +00:00
Christopher Faylor 031619634c * path.h (path_conv::issocket): Return true if device == FH_UNIX rather than
expecting path_conv to set a flag.
2005-02-16 00:24:38 +00:00
Christopher Faylor 264f41f081 white space 2005-02-13 18:17:29 +00:00
Christopher Faylor ba8c69552f fix typo 2005-02-11 22:26:20 +00:00
Corinna Vinschen 8be730bbb1 * 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 15:37:26 +00:00
Christopher Faylor cc9440b6f4 * cygthread.cc (cygthread::release): Reset ev here if it exists.
(cygthread::terminate_thread): Eliminat racy code which reset ev and
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 15:24:15 +00:00
Corinna Vinschen 199bf79367 * times.cc (utimes): Open files with GENERIC_WRITE on file systems
not supporting ACLs.
2005-02-11 14:27:36 +00:00
Danny Smith 3d11bd3e07 * include/tchar.h (_tstat64, _tstati64): Add Unicode/ANSI mappings. 2005-02-11 07:23:44 +00:00
Danny Smith ecb313ccee * include/assert.h; Remove header guard. undef assert macro.
(_assert): Use __MINGW_ATTRIB_NORETURN define.
2005-02-11 07:17:00 +00:00
Danny Smith e2a12d9f7d Add Changelog entry from last commit. 2005-02-11 07:15:00 +00:00
Danny Smith ba16f5aa83 2005-02-11 Gregory W. Chicares <chicares at cox dot net>
Danny Smith  <dannysmith@users at sourceforge dot net>

	* include/math.h (expm1, expm1f, expmll): Add prototypes.
	* mingwex/Makefile.in (MATH_DISTFILES): Add expm1.c,
	expm1f.c, expm1l.c.
	(MATH_OBJS): Add expm1.o, expm1f.o, expm1l.o.
	* mingwex/math/expm1.c: New file.
	* mingwex/math/expm1f.c: New file.
	* mingwex/math/expm1l.c: New file.
2005-02-11 04:15:17 +00:00
Christopher Faylor ccf32128b3 add missing ChangeLog entry 2005-02-10 18:12:56 +00:00
Christopher Faylor 292a8156c6 * winsup.api/known_bugs.tcl: Remove dup05, fcntl07B, lseek04, select03,
unlink06.
2005-02-10 17:48:30 +00:00
Danny Smith 78a04600f9 2005-02-10 Jiri Malak <Jiri.Malak@iol.cz>
Danny Smith  <dannysmith@users.sourceforge.net>

	* lib/directx/dinput_private.h (ATTRIBUTE_TEXT_SECTION): New
	define for Open Watcom portability.
	* lib/directx/(dinput_joy.c, dinput_joy2.c, dinput_kbd.c,
	dinput_mouse.c, dinput_mouse2.c): Use new macro in definition
	of local c_rgodfDI* objects. Replace .rdata section attribute
	with 'const' keyword in definition of global c_dfDI* objects.
2005-02-10 01:19:43 +00:00
Corinna Vinschen 9631b700f9 * fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Fix checking
lseek return code.
2005-02-09 19:28:06 +00:00
Corinna Vinschen b6bddccad6 * 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-08 20:59:41 +00:00
Corinna Vinschen 01d9b1612c * cygthread.cc (cygthread::detach): Just test thread handle after
signal arrived, don't wait infinitely for it.
2005-02-08 16:56:02 +00:00
Christopher Faylor f1256beb92 * pipe.cc (fhandler_pipe::read): Remove hold over from old read_state
implementation.
2005-02-08 16:19:58 +00:00
Danny Smith 681e60c31c 2005-02-07 Danny Smith <dannysmith@users.sourceforge.net>
* include/winioctl.h (IOCTL_VOLUME_BASE,
	IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, IOCTL_VOLUME_IS_CLUSTERED):
	Copy defines from include/ddk/ntdddvol.h.
	Bug reported to Debian by Anand Kumria  <wildfire at progsoc dot org>
2005-02-07 20:40:32 +00:00
Danny Smith e693472b16 2005-02-07 Danny Smith <dannysmith@users.sourceforge.net>
* include/sys/stat.h (struct stat): Guard with _NO_OLDNAMES.
	* include/wchar.h (struct stat): Likwwise.
	Bug reported to Debian by Anand Kumria  <wildfire@progsoc.org>

	* include/sys/stat.h: Remove empty __STRICT_ANSI__ guard.
2005-02-07 20:18:08 +00:00
Christopher Faylor a694f07970 * net.cc (cygwin_gethostbyname): Be more picky about what's a numeric address
string, and use tls in that case too.
2005-02-07 15:27:40 +00:00
Christopher Faylor bec2abd71e * 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-07 05:28:49 +00:00
Corinna Vinschen 7d880770d3 * 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 11:15:29 +00:00
Christopher Faylor 85a798d6e7 * 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-06 05:04:34 +00:00
Corinna Vinschen 3fd68a6a04 * 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 22:42:06 +00:00
Corinna Vinschen 0763734fd9 * pipe.cc (fhandler_pipe::dup): Fix conditionals in case of error. 2005-02-02 10:09:51 +00:00
Corinna Vinschen 29ce22c955 * times.cc (utimes): Mark st_ctime for update according to SUSv3. 2005-02-02 09:46:52 +00:00
Christopher Faylor 8c96f3fac2 * fhandler_proc.cc (format_proc_partitions): Remove PartitionType check since
it could skip over partitions that are actually interesting.
2005-02-01 17:16:14 +00:00
Christopher Faylor 74d8e12e16 * 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-01 16:49:13 +00:00
Corinna Vinschen 01a94cf866 * pipe.cc (fhandler_pipe::open): Allow re-opening of /proc/<pid>/fd
pipes of the current process.
2005-02-01 16:43:29 +00:00
Corinna Vinschen e8309efda5 * 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 15:11:47 +00:00
Danny Smith d93998b17a * mingwex/strtold.c (__asctoe64): Set endptr to 'e' if exponent
string is not valid.
2005-02-01 03:51:21 +00:00
Christopher Faylor 17dc5be5e9 * 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-01-31 21:29:59 +00:00
Christopher Faylor 4faae8d6e9 * smallprint.c (rnarg): Use long rather than unsigned long so that we get
proper sign extension.
2005-01-31 20:55:33 +00:00
Corinna Vinschen c93b32d9bf * cygwinenv.sgml: Add words for (no)traverse option. 2005-01-31 20:03:20 +00:00
Corinna Vinschen 740760ec5a * 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-01-31 20:02:36 +00:00
Christopher Faylor 2b4d82482c * smallprint.c (__rn): Regparmize. 2005-01-31 19:57:05 +00:00
Christopher Faylor 01d13d44fb * 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 19:52:03 +00:00
Christopher Faylor ad1d82b851 * pinfo.cc (pinfo::exit): Only return low-order 16 bits when exiting. 2005-01-31 14:34:07 +00:00
Corinna Vinschen 6d336c0e5a * fhandler_process.cc (format_process_maps): Get destbuf argument by
reference.  Allow resizing of destbuf as necessary.  Fix string
	handling.
2005-01-31 12:02:07 +00:00
Corinna Vinschen 4f27e288c5 * 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-31 10:28:55 +00:00
Joshua Daniel Franklin d0ae095b8c * ntsec.sgml: Add Pierre's Windows 2003 text. 2005-01-29 22:35:17 +00:00
Corinna Vinschen e86f8b7925 * 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 13:34:34 +00:00
Corinna Vinschen faf07ace92 * 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 11:23:07 +00:00
Christopher Faylor 2eeb0e70a3 * cygthread.cc (new): Add a little more debugging.
* thread.cc (pthread_null::exit): Add a _my_tls.remove() for safety.
2005-01-29 05:39:07 +00:00
Christopher Faylor 02e221b774 * cygtls.cc (cygtls::call2): Move socket cleanup.
(cygtls::remove): Move socket cleanup here.  Don't use _my_tls to reference it.
2005-01-29 03:09:50 +00:00
Corinna Vinschen 0eefa5256b * how-using.texinfo: Change text about using shortcuts. 2005-01-28 09:10:22 +00:00
Christopher Faylor 02da559a0b . 2005-01-28 05:53:22 +00:00
Danny Smith 8cc85fff15 2005-01-27 Oliver Stoeneberg <oliverst@online.de>
* include/winbase.h (PWIN32_FIND_DATA): Add typedef.
2005-01-27 21:04:18 +00:00
Danny Smith 93b96855f4 2005-01-26 Oliver Stoeneberg <oliverst@online.de>
* include/malloc.h: Add missing return code defines for
	_heapwalk()
2005-01-27 00:34:42 +00:00
Christopher Faylor 325eadaa57 * pinfo.cc (pinfo::init): Avoid a compiler warning. 2005-01-26 18:21:22 +00:00
Corinna Vinschen 0f72b90637 * 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 13:07:48 +00:00
Danny Smith b7a51e1b2a * include/winuser.h (SW_SMOOTHSCROLL): Add define. 2005-01-26 06:25:59 +00:00
Pierre Humblet 9df58602b6 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 04:34:19 +00:00
Christopher Faylor 0e32d1ffcd * 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 00:15:11 +00:00
Corinna Vinschen 72c1491bba * 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-25 22:45:11 +00:00
Corinna Vinschen 17923424c4 * path.cc (realpath): Allow to expand with .exe suffix. 2005-01-25 20:28:40 +00:00
Joshua Daniel Franklin 12ff82d08e * install.texinfo: Add live CD, registry information. 2005-01-22 23:39:37 +00:00
Christopher Faylor c75e4f09ec * 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-22 21:47:04 +00:00
Christopher Faylor 9a0b76dced * 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-22 21:17:53 +00:00
Joshua Daniel Franklin 672879cab6 * how-programming.texinfo: Add details about building a debugging version of the DLL.
* how-using.texinfo: Correct rxvt README location.
* install.texinfo: Add mount -m note to uninstall instructions.
2005-01-22 19:12:33 +00:00
Christopher Faylor 4c133af135 * 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-22 18:07:10 +00:00
Christopher Faylor f2d6aeea17 * how-programming.texinfo: Remove obsolete w32api instructions and add some
words about unpacking net release .tar.bz2.
2005-01-22 03:53:38 +00:00
Chris Sutcliffe ea27b6f219 2005-01-21 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/commdlg.h (OFN_DONTADDTORECENT): Added definition.
2005-01-21 13:39:35 +00:00
Corinna Vinschen c20ec37fbd * 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-18 13:00:18 +00:00
Danny Smith 4d6b4804e9 * lib/user32.def (MonitorFromPoint}: Correct suffix. 2005-01-18 07:14:54 +00:00
Danny Smith 4c9f0d3547 * include/sys/stat.h (struct __stat64): Change st_size type to
__int64.
	* include/wchar.h (struct __stat64): Change st_size type to __int64.
2005-01-17 05:03:17 +00:00
Christopher Faylor 37d5841f83 * 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 04:12:08 +00:00
Christopher Faylor 459a956197 * ps.cc (main): Eliminate use of PID_ZOMBIE.
* strace.cc (main): Recognize new option for displaying hex value of strace
type.
(handle_output_debug_string): Prepend output with hex value of strace message
if -H is specified.
2005-01-16 17:13:51 +00:00
Christopher Faylor 85b3fb9640 * 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 17:00:27 +00:00
Christopher Faylor fdd857a1f6 * sigproc.cc (sig_send): Don't complain if attempt to send signal to myself
fails after I've "execed".
2005-01-15 23:43:42 +00:00
Corinna Vinschen aafdf30f7a * 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 22:03:40 +00:00
Corinna Vinschen 36ca239fd4 * 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-13 22:56:20 +00:00
Corinna Vinschen 0dabe0e0c2 * 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-13 22:18:57 +00:00
Corinna Vinschen 9b8e782e11 * fhandler_serial.cc (fhandler_serial::dup): Call overlapped_setup
for child, not for parent.
2005-01-13 20:10:04 +00:00
Earnie Boyd bfe069a3b0 * include/_mingw.h: Increment version to 3.7.
* Makefile.in: Ditto.
2005-01-13 19:51:02 +00:00
Christopher Faylor a09a6e6838 * 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 16:38:35 +00:00
Earnie Boyd 29de2b1938 * include/sys/stat.h (_S_IFLNK, S_IFLNK, _S_ISLNK, S_ISLNK, _lstat,
lstat): Remove.
	* include/errno.h (ELOOP): Ditto.
2005-01-13 12:40:37 +00:00
Danny Smith 6c03322566 2005-01-13 Benoit Blanchon <bblanchon@users.sourceforge.net>
* include/wininet.h (InternetCheckConnectionA,
	InternetCheckConnectionW) Add prototypes.
	(INTERNET_RAS_INSTALLED, INTERNET_CONNECTION_OFFLINE,
	INTERNET_CONNECTION_CONFIGURED): Add defines.
2005-01-13 09:14:42 +00:00
Christopher Faylor 169c465a83 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-12 22:40:46 +00:00
Christopher Faylor 066e8c8424 Add missing changelog entry. 2005-01-12 20:06:17 +00:00
Christopher Faylor 48befd8305 * pinfo.cc (pinfo::exit): Don't assume that this == myself. 2005-01-12 18:05:07 +00:00
Danny Smith 49f7830187 * include/tchar.h (_tfreopen): Add UNICODE mappings. 2005-01-12 09:08:12 +00:00
Pierre Humblet 114b7248ee 2005-01-11 Pierre Humblet <pierre.humblet@ieee.org>
* mkpasswd.c (print_win_error): Transform into macro.
        (_print_win_error): Upgrade former print_win_error by
        printing the line.
        (current_user): Call _print_win_error.
        (enum_users): Print name in case of lookup failure.
        (enum_local_groups): Ditto.
2005-01-11 23:03:24 +00:00
Christopher Faylor 7730395470 * pinfo.cc (pinfo::init): Don't close input handle on temporary (?) failure. 2005-01-11 16:58:31 +00:00
Christopher Faylor d1adad9045 revert previous erroneous checkin. 2005-01-11 15:49:17 +00:00
Christopher Faylor 2380dfe14c * 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 15:31:04 +00:00
Earnie Boyd aa67a4484e * include/sys/stat.h (_S_IFLNK, S_IFLNK, _S_ISLNK, S_ISLNK, _lstat,
lstat): Conditionalize defines for __STRICT_ANSI__.
2005-01-11 13:34:42 +00:00
Corinna Vinschen 0e05431799 * ChangeLog: Split and create ChangeLog-2004. 2005-01-11 12:48:34 +00:00
Corinna Vinschen eade2ea557 * environ.cc: Yes, yes, the copyright date, as usual. 2005-01-11 12:45:08 +00:00
Corinna Vinschen d1ce9364f3 * environ.cc (build_env): Disallow empty strings and strings starting
with '=' in Win32 environment.
2005-01-11 12:42:35 +00:00
Earnie Boyd 58bdcd7fc7 * include/errno.h (ELOOP): Add definition. 2005-01-10 21:15:40 +00:00
Corinna Vinschen 0b99127e40 * fhandler_disk_file.cc: Fix copyright date. 2005-01-10 13:09:56 +00:00