Commit Graph

2047 Commits

Author SHA1 Message Date
Christopher Faylor 755f575f15 correct attribution, since this is not Pierre's patch. 2003-08-19 01:17:53 +00:00
Christopher Faylor 372cd2cbe6 * exceptions.cc (sigdelayed): Fix race where signal handler could get the wrong
mask.
2003-08-19 00:31:56 +00:00
Christopher Faylor 9d7f26eaf4 * path.cc (mount): Add null/empty check for input parameters.
(umount): Add null/empty check for input parameters.
2003-08-19 00:18:48 +00:00
Corinna Vinschen 981f9625f3 * grp.cc (read_group): Revert previous change.
* uinfo.cc (pwdgrp::load): Always reset curr_lines.
2003-08-17 17:50:40 +00:00
Corinna Vinschen 22d82f9f46 * errno.cc (errmap): Map ERROR_INVALID_BLOCK_LENGTH to EIO.
* fhandler_raw.cc (fhandler_dev_raw::raw_read): Set more accurate
	errnos instead of EACCES.
	(fhandler_dev_raw::raw_write): Ditto.
2003-08-17 17:12:18 +00:00
Christopher Faylor 293ce8104d * path.cc (special_name): Accommodate all special names with extensions. 2003-08-17 16:33:15 +00:00
Corinna Vinschen 92d897cde2 * mmap.cc (mmap64): Avoid crash if file size is less than requested
map length.
2003-08-15 12:05:08 +00:00
Corinna Vinschen 6763d47b1e * path.cc (special_name): Add checks for some specials followed by
a "." and a FIXME comment.
2003-08-13 17:28:00 +00:00
Corinna Vinschen ae89a49602 * cygwin.din: Accomodate change from cygwin_lstat to lstat.
* syscalls.cc: Add defines to avoid declaration issues when
	renaming cygwin_lstat back to lstat.
	(lstat): Reverted name change from cygwin_lstat.
2003-08-13 11:28:42 +00:00
Corinna Vinschen c86c10b803 * include/sys/param.h (NBBY): Define if not defined.
* include/sys/param.h (setbit): Add new bitmap related macro.
	(clrbit): Likewise.
	(isset): Likewise.
	(isclr): Likewise.
	(howmany): Add new counting/rounding macro.
	(rounddown): Likewise.
	(roundup): Likewise.
	(roundup2): Likewise.
	(powerof2): Likewise
	(MIN): Add macro for calculating min.
	(MAX): Add macro for calculating max.
2003-08-12 10:23:40 +00:00
Christopher Faylor 9d77d53601 * include/cygwin/version.h: Bump DLL minor number to 3. 2003-08-09 16:32:03 +00:00
Christopher Faylor 5c65fa0200 * include/stdint.h: Correctly define INT32_MIN. 2003-08-08 19:30:41 +00:00
Christopher Faylor b344f1876c * grp.cc (read_group): Set __group32.gr_mem pointer back to &null_ptr after
free() is called.
2003-08-08 19:28:34 +00:00
Christopher Faylor 4b154cc1b3 * Makefile.in: Rework to accommodate new speclib arguments.
* speclib: Rework to extract everything from libcygwin.a rather than building
things from existing object files.
2003-08-06 01:40:12 +00:00
Christopher Faylor 4423d92489 * path.cc (cygdrive_getmntent): Do not skip over drives of type
DRIVE_REMOVABLE.
* fhandler.cc (fhandler_base::lseek): Be more paranoid when constructing
offsets from 64 bit value.
* syscalls.cc (logout): Avoid temp buffer memcpy since new scheme does not
require it.
(utmp_data): Rework as a macro which returns a pointer into a buffer.
(getutent): Use new buffer allocation mechanism to grab a utmp buffer.
(getutid): Ditto.
(pututline): Ditto.
2003-08-05 04:49:44 +00:00
Christopher Faylor 3fea2e4087 * fhandler_disk_file.cc (fhandler_cygdrive::readdir): Do not change 'errno' if
end of directory condition is encountered as per SUSv2.
* fhandler_proc.cc (fhandler_proc::readdir): Ditto.
* fhandler_process (fhandler_process::readdir): Ditto.
* fhandler_registry (fhandler_registry::readdir): Ditto.
2003-08-05 03:04:28 +00:00
Christopher Faylor b9621e8d94 * dcrt0.cc (_dll_crt0): Move strace.microseconds initialization to after
pthread initialization.
(dll_crt0_1): i.e., here.
2003-07-30 04:46:07 +00:00
Christopher Faylor 8e2315f07d * include/cygwin/version.h: Bump DLL minor number to 2. 2003-07-28 21:14:25 +00:00
Christopher Faylor d2466c7aa0 * fhandler_base.cc (fhandler_base::readv): Rework to properly return number of
bytes from read.
2003-07-28 21:13:17 +00:00
Christopher Faylor df04ae29b2 * exceptions.cc (ctrl_c_handler): Send SIGHUP when events occur only if there
is a tty associated with the process.  Send SIGHUP on CTRL_LOGOFF_EVENT.
* fhandler_tty.cc (fhandler_tty_slave::open): Adjust console open handle
counter regardless of whether this is a pty or tty.
(fhandler_tty_slave::open): Ditto.
(fhandler_tty_slave::dup): Ditto.
(fhandler_tty_common::set_close_on_exec): Ditto.
(fhandler_tty_master::init_console): Decrement console open handle counter
after init since it will now be handled by all tty open.
* syscalls.cc (setsid): Rework debugging output slightly.
2003-07-26 04:53:59 +00:00
Christopher Faylor ddb6762155 * configure.in: Use 'install-sh -c'.
* configure: Regenerate.
2003-07-26 01:53:18 +00:00
Christopher Faylor 7f4773b3ef * configure.in: Always use install-sh.
* configure: Regenerate.
2003-07-25 23:52:30 +00:00
Christopher Faylor 5d66faab67 * include/cygwin/socket.h: Conditionalize [AP]F_INET6 define. 2003-07-25 17:57:51 +00:00
Christopher Faylor 6f8c86aec5 * Makefile.in (OBSOLETE_FUNCTION): Add fdopen. 2003-07-25 17:42:08 +00:00
Christopher Faylor 86ed5c8821 * cygwin.din: Export _fdopen64
* Makefile.in (NEW_FUNCTIONS): Add _fdopen64 -> fdopen translation.
* include/cygwin/version.h: Bump api minor number.
* ntdll.h: Remove (now) duplicate FILE_SYNCHRONOUS_IO_NONALERT definition.
2003-07-25 16:13:12 +00:00
Christopher Faylor 1fbeb8274f * environ.cc (check_case_init): Use strncasematch.
* cygwin.din: Export __mempcpy.
* cygwin/version.h: Bump api minor number.
2003-07-24 19:33:14 +00:00
Corinna Vinschen d432ac751b * mmap.cc: Use proper format specifiers for _off64_t and size_t in
format strings passed to syscall_printf () and debug_printf ()
	throughout.
2003-07-21 13:06:49 +00:00
Pierre Humblet b4ece40c0f 2003-07-18 Pierre Humblet <pierre.humblet@ieee.org>
* security.cc (verify_token): Fix white space and style.
        Use type bool instead of BOOL and char. Use alloca
        instead of malloc and free for my_grps.
2003-07-18 02:14:42 +00:00
Corinna Vinschen fc2843ca96 * sysconf.cc (sysconf): Fix OPEN_MAX patch. Return page size on
_SC_PAGESIZE again.
2003-07-17 07:35:16 +00:00
Corinna Vinschen ea3ba11499 * cygheap.h (class cygheap_user): Use INVALID_HANDLE_VALUE as invalid
value for tokens.
	* syscalls.cc (seteuid32): Ditto.  Set new_token to process token if
	process token is suitable.
	* uinfo.cc (uinfo_init): Initialize tokens in cygheap user info
	to INVALID_HANDLE_VALUE.

	* cygheap.h (enum impersonation): Delete.
	(cygheap_user::impersonation_state): Delete.
	(cygheap_user::current_token): New.
	(cygheap_user::issetuid): Modify to use current_token.
	(cygheap_user::token): Ditto.
	(cygheap_user::deimpersonate): Ditto.
	(cygheap_user::reimpersonate): Ditto.
	(cygheap_user::has_impersonation_tokens): Ditto.
	(cygheap_user::close_impersonation_tokens): Ditto.
	* security.cc (cygwin_set_impersonation_token): Always set the token.
	(verify_token): Change type of gsid to cygpsid.
	(get_file_attribute): Use the effective ids.
	* syscalls.cc (seteuid32): Modify to use cygheap_user::current_token.
	* uinfo.cc (uinfo_init) Do not set cygheap->user.impersonation_state.
2003-07-14 17:04:21 +00:00
Christopher Faylor 9e8ac0ae35 * pinfo.cc (_pinfo::commune_send): Fix bounds test so that poll of
communicating pid actually stops eventually.
2003-07-12 21:37:07 +00:00
Christopher Faylor e47d564835 * path.cc (get_device_number): Remove special com? consideration.
(special_chars): Make static.
(special_introducers): New.
(special_char): Allow specified valid_chars args.
(fnunmunge): Handle aux-like filenames correctly.
(special_name): Add con, conin$, conout$.
(mount_item::fnmunge): Use __small_sprintf return value to calculate
increments.
2003-07-11 00:54:46 +00:00
Christopher Faylor 30811232c7 * include/cygwin/version.h: Bump DLL minor number to 1. 2003-07-10 02:33:27 +00:00
Christopher Faylor 2f5cab7bb2 * fhandler_proc.cc (format_proc_stat): Use correctly sized constants for
filling in zeros on 98.
2003-07-10 02:09:24 +00:00
Christopher Faylor f1a4b6b59a * include/cygwin/version.h: Bump DLL minor number to 1. 2003-07-10 01:58:39 +00:00
Christopher Faylor cf38615c3b * fhandler_proc.cc (fhandler_proc::fill_filebuf): Allocate more space for stat
buffer.
(format_proc_stat): Reorganize to accumulate and report on all cpus.
2003-07-10 01:09:24 +00:00
Christopher Faylor ab3dc80d9e * sysconf.cc (sysconf): Return processors online rather than bitmask for
_SC_NPROCESSORS_ONLN.
2003-07-09 23:59:47 +00:00
Christopher Faylor 4d782b426a * cygheap.cc (creturn): Set appropriate errno when out of memory.
(ccalloc): Only issue system_printf when debugging.
* dtable.cc (dtable::extend): Only allocate 100 * the incremental growth size
max.  Set errno appropriately.
(dtable::build_fhandler): Check for error from set_name.
* fhandler.cc (fhandler_base::set_name): Set errno and return error on OOM.
* fhandler.h (fhandler_base::set_name): Change to bool.
* fhandler_process.cc (format_process_stat): Fix formatting.
* resource.cc (getrlimit): Return greater of OPEN_MAX or fd table size.
* sysconf.cc (sysconf): Ditto.
2003-07-09 01:33:06 +00:00
Christopher Faylor a711a5af45 * rmsym: Don't use ranlib. 2003-07-07 05:32:24 +00:00
Christopher Faylor c0a6fcd75b * newsym: Reenable removal of tmp directory. Just use ar to generate archive
index.
* Makefile.in: Don't send ranlib to newsym.
2003-07-07 05:30:33 +00:00
Christopher Faylor 0e5db0bfe8 * newsym: Create objects that are closer to those created by dlltool so as not
to confuse --export-all-symbols.
* rmsym: Be a little more accepting of object filenames now that dlltool can
create different format files.
2003-07-07 05:23:35 +00:00
Christopher Faylor c522b9078c * newsym: Oops. Revert below change. 2003-07-07 00:14:58 +00:00
Christopher Faylor 88a628163e * newsym: Use correct prefix for generating imports.
* pinfo.cc (_pinfo::commune_send): Don't wait forever for a response from
another process.
2003-07-06 23:24:13 +00:00
Christopher Faylor b671715358 * syscalls.cc (gethostid): Set thread affinity so that results are predictable. 2003-07-06 20:08:42 +00:00
Corinna Vinschen f2d3c47b14 * mmap.cc (list::match): Add parameters to return valid address and
length back to munmap().  Evaluate intersection between given
	area and mapped area and return it, if any.
	(mmap64): On regular files, don't allow mappings beginning beyond
	EOF.  Return with errno set to ENXIO instead.
	(munmap): Rewrite SUSv3 conformant.  Check if given memory area is
	valid.  Unmap all maps inside given memory area.  Don't return error
	if no mapping has been unmapped.
2003-07-05 18:59:35 +00:00
Corinna Vinschen 4b2cbaeefd * fhandler.h (fhandler_socket::get_connect_state): New method to
return socket connection state.
	* fhandler_socket.cc (dup): Copy socket connect state to new file
	handle.
	* net.cc (cygwin_rcmd): Mark file handles of sockets returned by
	rcmd() as CONNECTED state.
	(cygwin_rexec): Similarly for rexec().
	(socketpair): Mark both ends of a new socket pair as CONNECTED.
2003-07-05 18:20:13 +00:00
Christopher Faylor 49806b9b06 fix typo 2003-07-04 17:37:59 +00:00
Corinna Vinschen 6694f3054e * mmap.cc (fhandler_disk_file::mmap): Fix address test. 2003-07-04 09:06:54 +00:00
Christopher Faylor d108f312f9 * path.cc (fillout_mntent): Change "posix" to "managed". 2003-07-04 03:08:26 +00:00
Christopher Faylor 3f21478315 * fhandler.h (FH_ENC): New enum.
(fhandler_base::get_encoded): New function.
(fhandler_base::set_encoded): Ditto.
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Set encoded flag in
fhandler, as appropriate.
(fhandler_disk_file::readdir): Unmunge filename as appropriate based on new
encoding flag.
* path.cc (normalize_posix_path): Don't punt on files with colons.
(special_char): New function.
(mount_item::fnmunge): Ditto.
(fnunmunge): Ditto.
(special_name): Ditto.
(mount_item::build_win32): Avoid drive considerations when file is encoded.
(mount_info::conv_to_win32_path): Handle encoded filenames.
(mount_info::conv_to_posix_path): Ditto.
(fillout_mntent): Add posix string when directory is encoded.
* path.h (fnunmunge): Declare.
(path_conv::is_encoded): Declare.
2003-07-04 03:07:01 +00:00
Christopher Faylor 3d8a75bdbe * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize a little more of
the cygserver stuff so that ttys actually work.
2003-07-03 21:22:17 +00:00
Corinna Vinschen 6556178009 * mmap.cc (mmap64): Allow MAP_FIXED with pagesize granularity (4K).
If a non-zero addr is given, align it to the next lower 64K boundary.
	(fhandler_disk_file::mmap): If a non-zero address is given, try
	mapping using the given address first.  If it fails and flags is not
	MAP_FIXED, try again with NULL address.
2003-07-03 20:53:26 +00:00
Christopher Faylor f3ff0ca9ed * thread.cc: Remove _MT_SAFE conditional. 2003-07-02 03:50:05 +00:00
Christopher Faylor 8fb2df196d * configure.in: Fix --enable-server option. 2003-07-02 03:29:40 +00:00
Christopher Faylor 3872e9a419 * Makefile.in: Remove cygserver stuff.
* acconfig.h: Add USE_CYGSERVER define.
* config.h.in: Regenerate.
* configure.in: Add --enable-server setting.
* configure: Regenerate.
* fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize compilation of
cygserver stuff.
* fork.cc (fork_child): Ditto.
* shm.cc: Ditto.
* tty.cc (tty::common_init): Ditto.
* dcrt0.cc: Use bool rather than BOOL for CYGWIN environment variable
definitions.
* environ.cc: Ditto.
* ntea.cc: Ditto.
* security.cc: Ditto.
* security.h: Ditto.
* syscalls.cc (check_posix_perm): Remove externs that were already declared in
a header.
* winsup.h: Ditto.  Declare _MT_SAFE here.  Delete it someday since cygwin
should always be _MT_SAFE.
2003-07-02 03:16:00 +00:00
Corinna Vinschen 70249d5687 * cygheap.h (enum impersonation): New enum.
(cygheap_user::token): Delete.
	(cygheap_user::impersonated): Delete.
	(cygheap_user::external_token): New member.
	(cygheap_user::internal_token): New member.
	(cygheap_user::impersonation_state): New member.
	(cygheap_user::issetuid): Modify.
	(cygheap_user::token): New method.
	(cygheap_user::deimpersonate): New method.
	(cygheap_user::reimpersonate): New method.
	(cygheap_user::has_impersonation_tokens): New method.
	(cygheap_user::close_impersonation_tokens): New method.
	* dtable.cc (dtable::vfork_child_dup): Use new cygheap_user methods.
	* fhandler_socket.cc (fhandler_socket::dup): Ditto.
	* fork.cc (fork_child): Ditto.
	(fork_parent): Ditto.
	* grp.cc (internal_getgroups): Ditto.
	* security.cc (verify_token): Ditto.
	(check_file_access): Ditto.
	(cygwin_set_impersonation_token): Detect conflicts. Set
	user.external_token.
	* spawn.cc (spawn_guts): Use new cygheap_user methods.
	* syscalls.cc (seteuid32): Rearrange to use the two tokens
	in cygheap_user.
	(setegid32): Use new cygheap_user methods.
	* uinfo.cc: (internal_getlogin): Ditto.
2003-06-30 13:07:36 +00:00
Christopher Faylor b06d4a0881 * Makefile.in: Use INSTALL_PROGRAM to install the cygwin DLL. 2003-06-25 19:12:01 +00:00
Thomas Pfaff e1e196a225 * thread.cc (MTinterface::fixup_after_fork): Fix thread list after fork.
(pthread::threads): Instantiate.
(pthread::pthread): Initialize running and suspendend.
Initialize next with NULL.
Add thread to thread list if it is not the null_pthread.
(pthread::~pthread): Remove thread from thread list if it is not the null_pthread.
(pthread::postcreate): Set running flag.
(pthread::exit): Reset running flag.
(pthread::cancel): Try to cancel thread only if still running.
(pthread::_fixup_after_fork): Implement.
(pthread::detach): Check if thread is still running before detach.
* thread.h (pthread::running): New member.
(pthread::next): Ditto.
(pthread::fixup_after_fork): New static method.
(pthread::threads): New static method.
(pthread::_fixup_after_fork): New method.
2003-06-24 20:14:01 +00:00
Christopher Faylor 6c6f70947d * pinfo.cc (_pinfo::commune_send): Don't attempt to communicate with a pure
windows process.
2003-06-21 00:08:02 +00:00
Pierre Humblet c9a5cfa0d3 2003-06-18 Pierre Humblet <pierre.humblet@ieee.org>
* autoload.cc (GetNetworkParams): Add.
        * net.cc (getdomainname): Call GetNetworkParams and read the
        DhcpDomain registry value if warranted.
2003-06-19 00:57:26 +00:00
Christopher Faylor 0d58ef9dac * path.cc (mount): Do more strict checking on posix path arguments. 2003-06-17 16:52:18 +00:00
Christopher Faylor c433f4617f Throughout, remove "include <errno.h>" from files which already include
cygerrno.h.
* include/cygwin/config.h (__DYNAMIC_REENT__): Define.
* include/cygwin/version.h: Bump API minor version.
* cygwin.din: Export __getreent
* cygerrno.h: Include errno.h.  Fix places where _impure_ptr is used directly
to store the errno value.
* debug.cc (__set_errno): Ditto.
* errno.cc: Remove _RRENT_ONLY define to get errno.cc compiled.
* signal.cc: Rename _reent_clib to _REENT throughout.
* thread.h (reent_clib): Remove prototype.
* thread.cc (reent_clib): Rename reent_clib to __getreent.  Return _impure_ptr
until MTinterface is initialized.
(reent_winsup): Fix a possible SEGV when _r == NULL.  Return NULL instead.
* MTinterface::fixup_after_fork: Switch reent back to _impure_ptr to keep
signal handling running when fork is called from a thread other than the
mainthread.
2003-06-16 03:24:13 +00:00
Thomas Pfaff 1c80421cb4 * thread.cc (pthread_attr_init): Revert change from 2003-06-11
to return 0 if attribute is already initialized back to EBUSY.
(pthread_condattr_init): Ditto.
(pthread_rwlockattr_init): Ditto.
(pthread_mutexattr_init): Ditto.
2003-06-12 18:15:34 +00:00
Corinna Vinschen 5bdb56f061 * exceptions.cc (ctrl_c_handler): Don't send a signal on
CTRL_SHUTDOWN_EVENT.  Add a comment to rationalize the patch.
2003-06-12 12:36:07 +00:00
Thomas Pfaff 00e6660b0d * thread.cc (pthread_attr_init): Return 0 if attribute is already initialized.
Fix return code if out of memory.
(pthread_condattr_init): Ditto.
(pthread_rwlockattr_init): Ditto.
(pthread_mutexattr_init): Return 0 if attribute is already initialized.
2003-06-11 19:08:42 +00:00
Corinna Vinschen 271c1935b3 * spawn.cc (spawn_guts): Call CreateProcess while impersonated,
when the real {u,g}ids and the groups are original.
	Move RevertToSelf and ImpersonateLoggedOnUser to the main line.
	* uinfo.cc (uinfo_init): Reorganize. If CreateProcess was called
	while impersonated, preserve the uids and gids and call
	ImpersonateLoggedOnUser. Preserve the uids and gids on Win9X.

	* exceptions.cc (error_start_init): Quote the pgm in the command.
2003-06-09 13:29:12 +00:00
Christopher Faylor 32173f7ec4 fix typo 2003-06-07 15:37:35 +00:00
Christopher Faylor 42a737d0a4 * poll.cc: Define FD_SETSIZE to ridiculously large number so that there will be
no artificially large limits.
2003-06-07 15:36:47 +00:00
Christopher Faylor 9501a0a1c7 * fhandler_tty.cc (fhandler_tty_slave::close): Free the console when last tty
closes.
2003-06-07 15:12:23 +00:00
Thomas Pfaff f496071c40 * fhandler_socket.cc (fhandler_socket::connect): Change error
handling for nonblocking connects to return EALREADY when
connect is called more than once for the same socket.
2003-06-07 11:05:35 +00:00
Corinna Vinschen 54152c7e7e * cygwin.din: Add vsyslog.
* fhandler.cc (fhandler_base::write): Only make file sparse if the
	seeked area is >= 128K.
	* syslog.cc (vsyslog): New function, overtaking functionality from
	syslog.
	(syslog): Just call vsyslog.
	* include/cygwin/version.h: Bump API minor.
	* include/sys/syslog.h: Add vsyslog declaration.
2003-06-06 08:11:19 +00:00
Christopher Faylor 979233a51a * cygthread.cc (cygthread::terminate_thread): Change system_printf to
debug_printf.
2003-06-05 19:18:33 +00:00
Christopher Faylor f51e42acc8 * shared.cc (shared_info::heap_chunk_size): Be really defensive about making
sure that heap_chunk is set.
2003-06-05 02:56:27 +00:00
Christopher Faylor 7b17543fb2 * path.cc (conv_path_list): Use correct value when calculating length to avoid
a potential SEGV.
2003-06-04 22:59:55 +00:00
Pierre Humblet 9f033c223c 2003-06-03 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler_disk_file.cc (fhandler_disk_file::fstat): Mark the pc
        as non-executable if the file cannot be opened for read. Retry query
        open only if errno is EACCES. Never change the mode, even if it is 000
        when query open() fails.
2003-06-04 01:57:44 +00:00
Christopher Faylor 1e61337ccf * configure.in: Allow any i?86 variant.
* configure: Regenerate.
2003-06-04 01:44:07 +00:00
Corinna Vinschen fb6b1418e4 * fhandler_socket.cc (connect_thread): Remove.
(accept_thread): Remove.
	(fhandler_socket::connect): Remove all special blocking handling.
	(fhandler_socket::accept): Ditto.
	* net.cc (cygwin_connect): Make blocking sockets temporarily
	non-blocking and call cygwin_select on them to be interruptible.
	(cygwin_accept):  Ditto.
2003-06-03 14:05:17 +00:00
Christopher Faylor 0c8fe17278 * spawn.cc (spawn_guts): Don't hang around if the parent doesn't exist. 2003-06-03 02:32:49 +00:00
Christopher Faylor 3786526ea8 * cygthread.h (cygthread::terminate_thread): Mark private.
* cygthread.cc (cygthread::terminate_thread): Deallocate free_range thread
stuff.
2003-06-02 21:22:02 +00:00
Corinna Vinschen cbdc3d1780 * fhandler_socket.cc (fhandler_socket::accept): Rename `signalled'
to `interrupted' as used in fhandler_socket::connect.
2003-06-02 21:20:22 +00:00
Corinna Vinschen dfe7d28850 * fhandler_socket.cc (fhandler_socket::connect): Simplify previous
patch.
	(fhandler_socket::accept): Ditto.
2003-06-02 21:14:39 +00:00
Corinna Vinschen 8e13bd144d * fhandler_socket.cc: Include cygthread.h.
(class sock_event): Remove.
	(thread_connect): New function.
	(thread_accept): Ditto.
	(fhandler_socket::connect): Use cygthread instead of socket event
	handling for blocking sockets.
	(fhandler_socket::accept): Ditto.
2003-06-02 17:52:16 +00:00
Christopher Faylor 418c623614 * fhandler.cc (fhandler_base::write): Correct minor printf formatting style
glitch.
2003-06-02 14:07:48 +00:00
Pierre Humblet c17e8306d0 2003-06-01 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Assume
        an existing directory is a root if FindFirstFile fails.
2003-06-01 19:37:13 +00:00
Christopher Faylor e59c6ff448 * path.cc (mount_info::conv_to_win32_path): gcc warning about chroot_ok was
actually valid.  Fix it.
2003-05-30 23:43:24 +00:00
Christopher Faylor cbe5375437 * cygheap.cc (init_cheap): Temporarily remove inline that newer gcc's have
problems with.
* path.cc (path_conv::check): Rework has_acls logic slightly.  Uncouple exec
tests away from filesystem tests.
2003-05-30 15:01:33 +00:00
Corinna Vinschen 4aa10069db * include/sys/param.h: Add DEV_BSIZE. 2003-05-30 08:39:02 +00:00
Corinna Vinschen 4e2db52c1c * fhandler_socket.cc (fhandler_socket::dup): Rearrange. Fix
conditional.
2003-05-29 16:16:59 +00:00
Christopher Faylor b666c2eb34 * mkvers.sh: Avoid "-dontuse" tags.
* path.cc (path_conv::check): Set exec state based on known situations.
* path.cc (mount_item::fnmunge): New function.
(mount_item::build_win32): New function.
(mount_info::conv_to_win32_path): Use build_win32 to build windows path.
* path.h (mount_item::fnmunge): Declare new function.
(mount_item::build_win32): Ditto.
* sys/mount.h (MOUNT_ENC): Define.
2003-05-29 03:50:15 +00:00
Corinna Vinschen 72c1470d67 * fhandler_socket.cc (fhandler_socket::dup): If running impersonated,
revert to original account before calling fixup_before_fork_exec
	and impersonate again afterwards.  Change comment accordingly.
	Clean up error handling and debug output.
2003-05-28 22:05:56 +00:00
Thomas Pfaff a946fb037d * fhandler_socket.cc (sock_event::~sock_event): New method.
(sock_event::load): Change to void. Check if winsock2 is available.
(socke_event::wait): Return 0 if interruptible mode is not available.
(fhandler_socket::connect): Remove checks for winsock2 availability.
(fhandler_socket::accept): Ditto.
2003-05-27 18:30:29 +00:00
Corinna Vinschen dae86e4507 * fhandler_socket.cc (fhandler_socket::dup): First try duplicating
using WSADuplicateSocket/WSASocket, if that fails, try DuplicateHandle.
2003-05-27 07:50:00 +00:00
Corinna Vinschen 2311f6b0e4 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Filter
permissions throug umask on FAT or if ntsec is off.
2003-05-27 07:44:26 +00:00
Corinna Vinschen ada0376f64 * syscalls.cc (statfs): Call GetDiskFreeSpaceEx before GetDiskFreeSpace. 2003-05-26 16:52:58 +00:00
Corinna Vinschen 0372ad9f11 * fhandler.cc (is_at_eof): Fix conditional. Use INVALID_FILE_SIZE
instead of numeric constant.
2003-05-26 15:43:54 +00:00
Corinna Vinschen 6852f6c0f6 * fhandler_socket.cc (fhandler_socket::connect): Guard calls to
sock_event methods by a check for WinSock2 availability.
	(fhandler_socket::accept): Ditto.
2003-05-26 11:11:22 +00:00
Corinna Vinschen fac297d5f8 * fhandler.h: Rename FH_W95LSBUG flag to FH_LSEEKED.
(fhandler_base::set_did_lseek): Rename from set_check_win95_lseek_bug.
	(fhandler_base::get_did_lseek): Rename from get_check_win95_lseek_bug.
	(fhandler_base::set_fs_flags): New method.
	(fhandler_base::get_fs_flags): Ditto.
	* fhandler.cc (fhandler_base::write): Make 64 bit clean.  Convert file
	to a "sparse" file when writing after a long lseek (>64K) beyond EOF.
	(fhandler_base::lseek): Call set_did_lseek() instead of
	set_check_win95_lseek_bug().
	(fhandler_base::fhandler_base): Initialize fs_flags to 0.
	* fhandler_disk_file.cc (fhandler_disk_file::open): Don't create files
	as "sparse" unconditionally.  Set fs_flags member.
2003-05-26 09:54:01 +00:00
Corinna Vinschen a80229fd49 * autoload.cc (GetDiskFreeSpaceEx): Add.
* syscalls.cc (statfs): Call full_path.root_dir() instead of
	rootdir(full_path). Use GetDiskFreeSpaceEx when available and
	report space available in addition to free space.
	* fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name):
	Do not call FindFirstFile for disk root directories.
2003-05-25 09:18:43 +00:00
Corinna Vinschen c295ce6f6e * fhandler_process.cc (format_process_stat): use PagefileUsage
instead of VirtualSize.
	(get_mem_values): Ditto.
2003-05-24 20:14:19 +00:00
Corinna Vinschen 5c768c978c * shared_info.h: Match shared_name declaration with below change.
* shared.cc (shared_name): Use incoming char * parameter instead of
	local static buffer.
	(open_shared): Accomodate new calling convention for shared_name.
	* exceptions.cc (events_init): Ditto.
	* sigproc.cc (getsem): Ditto.
	* syscalls.cc (login): Ditto.
	(logout): Ditto.
	(pututline): Ditto.
2003-05-21 08:01:57 +00:00