Commit Graph

1457 Commits

Author SHA1 Message Date
Earnie Boyd c88bb51c3c 2001-09-12 Earnie Boyd <earnie@SF.net>
* Makefile.in: Increment version.
	* include/w32api.h: Ditto.
	* lib/Makefile.in: Add usr/ to install directory special for cygwin.
2001-09-12 14:48:07 +00:00
Earnie Boyd e078566ced 2001-09-11 Danny Smith <dannysmith@users.sourceforge.net>
* include/winnt.h (_[U]LARGE_INTEGER): Protect nameless struct with
	!defined(NONAMELESSUNION), rather than defined(_ANONYMOUS_STRUCT).
	(_REPARSE_DATA_BUFFER): Name union field DUMMYUNIONNAME.
2001-09-12 14:08:53 +00:00
Christopher Faylor aed6988a36 * exceptions.cc (call_signal_handler_now): Add additional guard against
inappropriately calling signal handler.
* syscalls.cc (_read): Reset errno if not exiting due to signal.
2001-09-12 05:09:24 +00:00
Christopher Faylor ff6e295ebf minor cleanups 2001-09-12 04:47:47 +00:00
Robert Collins 8e4d969260 Wed Sep 12 13:03:00 2001 Robert Collins <rbtcollins@hotmail.com>
* autoload.cc (LoadDLLfuncEx): Auto load TryEnterCriticalSection - its a
n NT only call.
        * thread.cc (pthread_cond::TimedWait): Use critical sections for NT.
        (pthread_cond::fixup_after_fork): Don't detect bad apps.
        (pthread_mutex::pthread_mutex): Use critical sections for NT.
        (pthread_mutex::~pthread_mutex): Ditto.
        (pthread_mutex::Lock): Ditto.
        (pthread_mutex::TryLock): Ditto.
        (pthread_mutex::UnLock): Ditto.
        (pthread_mutex::fixup_after_fork): Ditto. Also do not detect bad apps.
        (__pthread_mutex_trylock): Move WIN32 specific test into the class metho
d.
        (__pthread_mutex_destroy): Prevent dereferencing passed pointer without
valid address.
        * thread.h (pthread_mutex): Use critical sections for NT.
2001-09-12 03:18:05 +00:00
Christopher Faylor 101f820da2 * sigproc.h (sigframe::unregister): Return true/false whether this frame is
capable of responding to signals.
* exceptions.cc (sigframe::call_signal_handler): Don't call signal handler if
it is not armed for this thread.
2001-09-12 01:56:32 +00:00
Christopher Faylor e3c25c4a47 Update copyrights. 2001-09-11 20:01:02 +00:00
Christopher Faylor 824b5c453d fix some typos. 2001-09-11 19:40:14 +00:00
Christopher Faylor dc3543aa46 change copyright. 2001-09-11 17:02:23 +00:00
Christopher Faylor dbc82a87a3 * cygwin.din: Remove cygwin_getshared.
* shared.cc: Ditto.
* include/cygwin/version.h: Bump API minor number.
* dtable.cc (dtable::build_fhandler): Fix incorrect test for socket.
2001-09-11 15:25:08 +00:00
Robert Collins 24a930fa23 Tue Sep 11 21:22:00 2001 Robert Collins <rbtcollins@hotmail.com>
* thread.cc (pthread_cond::~pthread_cond): Bugfix: Incorrect use of InterlockExchangePointer.
	(pthread_mutex::~pthread_mutex): Ditto.
	(semaphore::~semaphore): Ditto.
2001-09-11 11:23:41 +00:00
Robert Collins f9229ef74b Tue Sep 11 18:15:00 2001 Robert Collins <rbtcollins@hotmail.com>
* dcrt0.cc (cygwin_finished_initializing): Copy _mtinterf on fork;
        * fork.cc (fork_child): fixup thread-related structures after fork;
        * thread.cc (MTinterface::Init): Initialise the new mutex, condition and semaphore lists.
        (MTinterface::fixup_after_fork): Iterate through each list and fixup the objects.
        (pthread_cond::pthread_cond): Add this to the condition list.
        (pthread_cond::~pthread_cond): Remove this from the condition list.
        (pthread_cond::fixup_after_fork): Recreate as best we can the pre-fork state.
        (pthread_mutex::pthread_mutex): Add this to the mutex list.
        (pthread_mutex::~pthread_mutex): Remove this from the mutex list.
        (pthread_mutex::fixup_after_fork): Recreate as best we can the pre-fork state.
        (semaphore::semaphore): Store the initial value, and add this to the semaphore list.
        (semaphore::~semaphore): Remove this from the semaphore list.
        (semaphore::Post): Increment the current semaphore value.
        (semaphore::TryWait): Decrement the current semaphore value.
        (semaphore::Wait): Ditto.
        (semaphote::fixup_after_fork): Recreate the pre-fork state as best we can.
        * thread.h (pthread_mutex): New members to allow fixup_after_fork.
        (pthread_cond): Ditto.
        (semaphore): Ditto.
        (MTinterface): New list heads for tracking conds and semaphores.
2001-09-11 08:15:39 +00:00
Earnie Boyd bb36822663 2001-09-05 Danny Smith <dannysmith@users.sourceforge.net>
* include/wininet.h (InternetAutodial): Add prototype.
	(InternetAutodialHangup): Ditto.
	(InternetDial): Ditto.
	(InternetGetConnectedState): Ditto.
	(InternetGoOnline): Ditto.
	(InternetHangUp): Ditto.
	(InternetSetDialState): Ditto.
	Add associated INTERNET_* auto dial flags.
	Guard typedefs and prototypes with #ifndef RC_INVOKED.
2001-09-10 16:50:06 +00:00
Earnie Boyd 34ed8fcee6 2001-09-10 Earnie Boyd <earnie@SF.net>
* dossh: Remove inadvertantly imported file.

2001-09-10  Danny Smith  <dannysmith@users.sourceforge.net>

	* dirent.c (opendir): Use GetFileAttributes rather than stat
	to determine if input arg is dir.
2001-09-10 15:41:46 +00:00
Christopher Faylor f3acbe3e3f * dtable.cc (dtable::fixup_after_fork): Use SetStdHandle appropriately on
inherited fds.
2001-09-10 02:11:59 +00:00
Christopher Faylor 6409b03b1a * sigproc.cc (NZOMBIES): Reduce substantially to minimize memory use. 2001-09-10 00:19:06 +00:00
Robert Collins ac9841a070 Mon Sep 10 08:28:00 2001 Robert Collins <rbtcollins@hotmail.com>
* thread.h (MT_Interface): Remove pshared mutex array.
        Add a threadsafe list for mutex tracking (for fixupafter fork).
        * thread.cc (MTInterface::Init): Remove pshared mutex array.
        (pthread_mutex::pthread_mutex): Remove pshared mutex functionality.
        Fail with EINVAL on attempts to use pshared functionality.
        (__pthread_mutex_getpshared): Remove.
        (__pthread_cond_timedwait): Remove pshared mutex functionality.
        (__pthread_cond_wait): Ditto.
        (__pthread_mutex_init): Ditto.
        (__pthread_mutex_getprioceiling): Ditto.
        (__pthread_mutex_lock): Ditto.
        (__pthread_mutex_trylock): Ditto.
        (__pthread_mutex_unlock): Ditto.
        (__pthread_mutex_destroy): Ditto.
        (__pthread_mutex_setprioceiling): Ditto.
        (__pthread_mutexattr_setpshared): Ditto.
2001-09-09 22:39:35 +00:00
Corinna Vinschen e3a4f8ef6f * pwdgrp.h (pwdgrp_check::set_last_modified): Call GetFileTime()
instead of GetFileInformationByHandle().
2001-09-09 21:57:44 +00:00
Christopher Faylor 3800a9e7d7 * heap.h (inheap): Rewrite macro to accomodate removal of brk macros below. 2001-09-09 20:00:29 +00:00
Christopher Faylor de05a524ca * cygheap.cc (cygheap_fixup_in_child): Clear cygheap->base so that heap is not
forced to start at the same place in execed process.
* heap.cc: Remove brk* macros for clarity throughout.
* heap.h: Ditto.
* shared.cc (shared_info::initialize): Move heap_chunk test into
heap_chunk_size().
(heap_chunk_size): Check for chunk size here.  Don't go to registry if
heap_chunk_in_mb is already set.
* smallprint.c (console_printf): Add Windows 95 concessions.
2001-09-09 19:06:50 +00:00
Christopher Faylor c386775867 * child_info.h (PROC_MAGIC): Bump magic number. 2001-09-09 17:01:47 +00:00
Corinna Vinschen 49eef6d5f7 * cygheap.cc (init_cygheap::etc_changed): New method to signal
a change in /etc.
	* cygheap.h (struct init_cygheap): Add member `etc_changed_h'
	and method `etc_changed'.
	* grp.cc (enum grp_state): Eliminate.
	(class grp_check): Ditto.
	(group_state): Define as `class pwdgrp_check'.
	(parse_grp): Remeber path and modification time of /etc/group file.
	* passwd.cc (enum_pwd_state): Eliminate.
	(class pwd_check): Ditto.
	(passwd_state): Define as `class pwdgrp_check'.
	(read_etc_passwd): Remember path and modification time of /etc/passwd
	file.
	* pwdgrp.h: New file.
	(enum pwdgrp_state): Substitutes `pwd_state' and `grp_state'.
	(class pwdgrp_check): Substitutes `pwd_check' and `grp_check'.
2001-09-09 16:52:37 +00:00
Egor Duda d961def403 * winsup.api/ltp/dup03.c: New test.
* winsup.api/ltp/lseek03.c: Ditto.
* winsup.api/ltp/mmap001.c: Ditto.
* winsup.api/ltp/read01.c: Ditto.
* winsup.api/ltp/readdir01.c: Ditto.
* winsup.api/ltp/rmdir05.c: Ditto.
* winsup.api/ltp/sbrk01.c: Ditto.
* winsup.api/ltp/select02.c: Ditto.
* winsup.api/ltp/select03.c: Ditto.
* winsup.api/ltp/signal03.c: Ditto.
* winsup.api/ltp/stat06.c: Ditto.
* winsup.api/ltp/unlink08.c: Ditto.
* winsup.api/known_bugs.tcl: Update to reflect new test's known
failures.
* winsup.api/winsup.exp: Don't delete executable in case of
unexpected pass, as well as in case of unexpected failure.
* README: Update paragraph about expected failures.
2001-09-09 13:38:17 +00:00
Egor Duda 92ef5188af * dumper.cc (main): Change command-line arguments format to be
similar to gdb. Allow adding error_start=x:\path\to\dumper.exe to
CYGWIN environment variable to perform core dumping in case of
program crash.
(usage): Ditto.
2001-09-09 13:18:51 +00:00
Corinna Vinschen d969111291 * include/cygwin/version.h: Bump API minor version to 45 according
to adding the gamm*_r functions.
2001-09-09 12:32:54 +00:00
Christopher Faylor e2ea684e4e * fork.cc (fork_parent): Stop malloc activity while fork is in control of the
heap.
* sigproc.cc (NZOMBIES): Rename from ZOMBIEMAX for clarity.
(zombies): Revert to original behavior.  Allocating zombie array resulted in
performance hit.
* winsup.h: Declare malloc lock routines.
2001-09-09 03:34:36 +00:00
Christopher Faylor c12a96d12f * cygwin.din: Add gamm*_r function exports. 2001-09-08 01:35:55 +00:00
Christopher Faylor 1ff9f4b937 * cygheap.h (init_cygheap): Move heap pointers here.
* include/sys/cygwin.h (perprocess): Remove heap pointers.
* dcrt0.cc (__cygwin_user_data): Reflect obsolete perprocess stuff.
(_dll_crt0): Don't initialize heap pointers.
(cygwin_dll_init): Ditto.
(release_upto): Use heap pointers from cygheap.
* heap.h: Ditto.
* fork.cc (fork_parent): Ditto.  Don't set heap pointers in ch.
(fork_child): Remove obsolete sigproc_fixup_after_fork.
* shared.cc (memory_init): Reorganize so that cygheap initialization is called
prior to regular heap since regular heap uses cygheap now.
* sigproc.cc (proc_subproc): Eliminate zombies allocation.
(sigproc_init): Move zombies alloation here.  Don't free up array on fork, just
reuse it.
(sigproc_fixup_after_fork): Eliminate.
* sigproc.h: Ditto.
* include/cygwin/version.h: Reflect change to perprocess structure.
2001-09-07 21:32:07 +00:00
Corinna Vinschen e3f30e9c24 Fri Sep 7 10:53:34 2001 Jason Tishler <jason@tishler.net>
* poll.cc (poll): Change implementation to only call select() when no
        invalid file descriptors are specified.
2001-09-07 17:17:54 +00:00
Christopher Faylor c4857613ca * how-resources.texinfo: Add some additional words about where to find
documentation.
2001-09-07 16:48:23 +00:00
Corinna Vinschen b0cce7e127 * include/limits.h: Define PIPE_BUF.
* syscalls.cc (fpathconf): Use PIPE_BUF instead of numerical constant.
        (pathconf): Ditto.
2001-09-07 08:31:16 +00:00
Christopher Faylor ddeaa23fbb experiment. 2001-09-07 01:13:47 +00:00
Christopher Faylor 04da0bbe2f * fhandler_socket.cc (fhandler_socket::fhandler_socket): Ensure that
prot_info_ptr is zeroed for later use.
2001-09-07 00:07:49 +00:00
Christopher Faylor b2bfade325 * cygheap.cc (cygheap_fixup_in_child): Don't consider a NULL bucket as a
candidate for deletion.  It is actually the end of a linked list chain.
* exceptions.cc (open_stackdumpfile): Default to "unknown" program name if
myself->progname hasn't been filled out yet.
2001-09-06 18:06:27 +00:00
Christopher Faylor 128f2650a5 Another in the how-it-works series. 2001-09-06 16:53:48 +00:00
Christopher Faylor 57c89867f5 Move appropriate variables to NO_COPY segment, throughout. 2001-09-06 05:17:22 +00:00
Christopher Faylor 08b78edf5a Remove initialization of static or global values to zero, throughout. This
just needlessly grows the size of the DLL.
* tty.cc (tty::alive): Make inuse handle non-inheriting on open, just for
thread safety.
2001-09-06 04:41:59 +00:00
Christopher Faylor 4ce15a4980 * cygheap.h (init_cygheap): Move bucket array here from cygheap.cc.
* cygheap.cc: Throughout use bucket array from cygheap.
* sigproc.cc (proc_subproc): Dynamically allocate zombie buffer to save DLL
space.
(sigproc_fixup_after_fork): Free zombie array after a fork.
* sigproc.h (sigproc_fixup_after_fork): Declare.
* dir.cc (mkdir): Expand buffer for security descriptor to 4K to avoid stack
corruption.
* fhandler.cc (fhandler_base::open): Ditto.
* path.cc (symlink): Ditto.
2001-09-06 03:39:18 +00:00
Christopher Faylor 0fb61528c9 * Makefile.in (dumper): Change logic for libbfd and libintl so that they will
be found either in the build tree or the installed directory.
* mkpasswd.c (enum_users): Add a comment as a password for NT.
2001-09-06 02:38:22 +00:00
Christopher Faylor 94ce0c04c1 Revert inadvertently checked in files. 2001-09-06 00:45:51 +00:00
Christopher Faylor 08547e6403 * Makefile.in: Install libstdc++.a if it does not exist. 2001-09-05 23:26:38 +00:00
Christopher Faylor b6077b89be minor wording changes 2001-09-05 20:12:38 +00:00
Christopher Faylor 6da0fb340e top level overview of vfork. 2001-09-05 19:43:52 +00:00
Corinna Vinschen 5bcf2f939e * winver.rc: Change copyright to include 2001. 2001-09-05 19:36:49 +00:00
Corinna Vinschen 37c23731c7 * fhandler_floppy.cc (fhandler_floppy::lseek): Remove iswinnt check. 2001-09-05 10:14:15 +00:00
Corinna Vinschen 669153e144 * fhandler_socket.cc (fhandler_socket::close): Change 2MSL value
according to MSDN.
2001-09-05 09:35:08 +00:00
Corinna Vinschen 47497e6243 * net.cc (cygwin_connect): Add WSAEALREADY and WSAEINVAL handling
for non-blocking sockets.
2001-09-05 08:16:51 +00:00
Christopher Faylor d72a655937 * exceptions.cc (ctrl_c_handler): Only send SIGINT when we have a controlling
terminal and we are the head of the process group.
2001-09-05 02:42:49 +00:00
Earnie Boyd 615a70a882 2001-09-04 Earnie Boyd <earnie@SF.Net>
* lib/Makefile.in: Move the setting of variable libdir to after the
	setting of exec_prefix since the value of libdir is dependant on it.
2001-09-04 20:56:23 +00:00
Christopher Faylor c729f22799 * thread.cc (InterlockedExchangePointer): Don't define if it already exists. 2001-09-04 20:48:45 +00:00
Corinna Vinschen 37f75da24d * uname.cc (uname): Eliminate os specific retrieving of x86
processor type.
2001-09-04 20:16:33 +00:00
Christopher Faylor fb7369b515 * winbase.h: Add missing closing parentheses to InterlockedExchangePointer
declaration.
2001-09-04 18:19:33 +00:00
Earnie Boyd 2d54484a72 2001-09-01 Danny Smith <dannysmith@users.sourceforge.net>
* include/shlobj.h (CFSTR_* ): Add new defines.
	Thanks to: "Ron" <ron@debian.org> .
	Unicode them.
2001-09-04 14:57:51 +00:00
Corinna Vinschen 29ebba7050 2001-09-04 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* fhandler_console.cc (fhandler_console::char_command): Save the cursor
        position relative to the top of the window.
        * fhandler_cc (fhandler_console::write): Ditto.
2001-09-04 10:45:54 +00:00
Christopher Faylor f90e39b55e * mount.cc (mount_commands): Don't write /cygdrive/u mount points. 2001-09-04 01:09:39 +00:00
Christopher Faylor bee722a5e7 * mount.cc (longopts): Add mount-commands to options list.
(usage): Add mount-commands option.
(mount_commands): New function.  Write commands to recreate current mounts.
2001-09-03 22:02:54 +00:00
Christopher Faylor 7170a41bc8 *** empty log message *** 2001-09-03 20:36:52 +00:00
Corinna Vinschen 2321ebb2aa * dir.cc (opendir): Write version information to __d_dirent->d_version. 2001-09-03 19:06:58 +00:00
Corinna Vinschen a71aee46c4 * cygwin.din: Add `dirfd'.
* dir.cc (dirfd): New function.
        (opendir): Open a directory file descriptor and save it in
        __d_dirent->d_fd.
        (closedir): Close directory file descriptor.
        * include/cygwin/version.h: Bump API minor version to 44.
2001-09-03 16:36:54 +00:00
Christopher Faylor 9867ecfdb3 * child_info.h: Modify magic number.
* dcrt0.cc (_cygwin_testing): Define.
(_dll_crt0): Set _cygwin_testing if CYGWIN_TESTING environment variable exists.
Don't issue "conflicting versions" error if _cygwin_testing is true.
* shared.cc (shared_name): Use _cygwin_testing global rather than testing the
environment.
* syscalls.cc (_write): Remove debugging info.
2001-09-03 02:13:05 +00:00
Christopher Faylor db8b09c306 * mount.cc (main): Eliminate excess arguments in printf. 2001-09-01 19:58:40 +00:00
Christopher Faylor 2bcd6fb89d * include/winnt.h: Use defined(_ANONYMOUS_STRUCT) to determine if anonymous
structs are available rather than just testing preprocessor variable directly.
2001-09-01 14:42:57 +00:00
Christopher Faylor 2496a3637f * tty.cc (tty::create_inuse): Eliminate unneeded argument.
* tty.h: Reflect above change.
* fhandler_tty.cc: Reflect argument reduction in tty::create_inuse, throughout.
Always make inuse inheritable.
2001-09-01 05:38:46 +00:00
Christopher Faylor e62ac9e869 * debug.cc (mark_closed): Rename from debug_mark_closed and make static.
(setclexec_pid): New function for marking saved handle as close-on-exec.
(delete_handle): New function.
(debug_fixup_after_fork): New function.
* debug.h: Declare new functions, remove obsolete ones.
* fork.cc (debug_fixup_after_fork): Call to cleanup close-on-exec handles.
* fhandler.cc (fhandler_disk_file::close): Minor reorg.
(fhandler_base::set_inheritance): Set flag appropriately for debugging when
close-on-exec so forked process can delete closed handles.
* tty.h (open_output_mutex): Eliminate unneeded argument.
(open_input_mutex): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::open): reflect open_*_mutex argument
changes.
* fhandler.h (fhandler_socket): Make saw_shutdown_* functions type bool.
* tty.cc (tty::get_event): Eliminate unneeded argument.
(tty::common_init): Reflect change to get_event.  Events should always be
inherited.
2001-09-01 05:17:34 +00:00
Corinna Vinschen dc8c4c68b7 * security.cc (create_token): Change initialization of `exp' to comply
with new LARGE_INTEGER definition in winnt.h.
2001-08-31 19:48:34 +00:00
Corinna Vinschen 75f259bfe3 * include/winnt.h: Change definition of `SYSTEM_LUID' to comply
with new `LARGE_INTEGER' definition.
2001-08-31 19:48:04 +00:00
Christopher Faylor 5ac73dfead * cygwin.sc: Revert to previous NO_COPY behavior.
* winsup.h: Ditto.
* sigproc.cc: Ditto.
* autoload.cc: Ditto.
2001-08-31 18:16:16 +00:00
Christopher Faylor 5e2ccd4bc2 minor wording change. 2001-08-31 05:24:36 +00:00
Christopher Faylor fcc46b19d3 space reduction. 2001-08-31 05:23:04 +00:00
Christopher Faylor fff42f4172 space reduction. 2001-08-31 05:17:47 +00:00
Christopher Faylor 5835f2cf8d * cygwin.sc: New file -- linker script for building cygwin DLL.
* Makefile.in: Use linker script to control location of cygheap.
* cygheap.cc (buckets): Make static.
(init_cheap): Remove special iswinnt handling.  Allocate cygheap at a fixed
location.  Display more info when allocation fails.
(cygheap_fixup_in_child): Try harder to move cygheap to correct location.
Display more info when allocation fails.
* fhandler.h (fhandler_socket): Add macros for tracking socket shutdown state.
* net.cc (cygwin_shutdown): Set appropriate shutdown value for future use.
* select.cc (select_stuff::cleanup): New method.
(cygwin_select): Call cleanup explicitly to avoid a race.
(select_stuff:~select_stuff): Call cleanup chain via cleanup method.
(fhandler_socket::select_read): Set *_ready when shutdown has been called on
the socket.
(fhandler_socket::select_write): Ditto.
(fhandler_socket::select_except): Ditto.
* winsup.h: Move NO_COPY to "COMMON" section.
* autoload.cc (wsock_started): Avoid initializing NO_COPY value.
* sigproc.cc: Remove initialization from NO_COPY variables.
(sigproc_init): Initialize sig_loop_wait here, rather than via initialization.
(subproc_init): Initialize proc_loop_wait here, rather than via initialization.
2001-08-31 05:06:14 +00:00
Egor Duda 33bc82476e * dumper.h: Update copyright notice.
* dumper.cc: Ditto.
* dumper.cc: (dumper::print_core_section_list): New function.
* dumper.h: (dumper::print_core_section_list): Declare it.
* dumper.cc (print_section_name): New function.
(dumper::collect_process_information): Augment debugging output.
Stop debugee processing if it posts double exception.
(usage): Fix typo in option name.
2001-08-30 16:47:51 +00:00
Christopher Faylor 4208d592f3 * include/winsock2.h: Remove "extra token" after #endif. 2001-08-30 13:37:23 +00:00
Corinna Vinschen f0b4b3865d * select.cc (select_read): Add setting read_ready flag.
(select_write): Add setting write_ready flag.
2001-08-30 08:21:09 +00:00
Earnie Boyd bca00ab4b6 * config.guess: Remove the \r from the end of line.
* config.sub: Ditto.
	* include/winnt.h: Allow anonymous struct in [U]LARGE_INTEGER
	if __cplusplus as well as if _ANONYMOUS_STRUCT.
	* config.guess: Add the MSYS system.
	* config.sub: Ditto.
	* include/winsock.h: Add the __INSIDE_MSYS__ protections.
	* incldue/winsock2.h: Ditto.
2001-08-30 04:29:49 +00:00
Earnie Boyd d1b093d567 * include\winnt.h: Allow anonymous (Xxx.LowPart) or
non-anonymous (Xxx.u.LowPart) access to HighPart and
	LowPart of a LARGE_INTEGER or ULARGE_INTEGER.
	* include/wingdi.h (HANGUL_CHARSET): Add define.
2001-08-29 13:45:46 +00:00
Earnie Boyd 375dab8418 * include/stdarg.h (va_list): Typedef as __builtin_va_list if
__GNUC__ >= 3.
	* include/varargs.h (va_list): Ditto.
	* include/stdio.h (va_list): Ditto.
2001-08-29 13:43:59 +00:00
Christopher Faylor 41d53c9845 * path.cc (path_conv::check): Avoid splitting off leading '/' in path component
when building a symlink.
2001-08-29 04:43:19 +00:00
Corinna Vinschen e4a17c6d11 * resource.cc (getrlimit): Return actual values on RLIMIT_STACK. 2001-08-28 22:48:23 +00:00
Christopher Faylor 955dfa520a oops 2001-08-28 20:39:22 +00:00
Christopher Faylor ffe94510f5 * dir.cc (rmdir): Report ENOENT when file doesn't exist rather than ENOTDIR. 2001-08-28 20:38:07 +00:00
Christopher Faylor 34971f0f8c * mount.cc (main): Issue correct warning for 'not enough arguments'. 2001-08-28 18:48:38 +00:00
Christopher Faylor 8d661d3658 * select.cc (cygwin_select): Ensure that arguments are zeroed on timeout.
(select_stuff::wait): Ditto.
2001-08-27 15:59:26 +00:00
Christopher Faylor e32b4e81cb * syscalls.cc (check_tty_fds): New function. Check whether there is a fd
referring to pty slave.
(setsid): Don't detach console if the process has a pty slave.
2001-08-25 17:27:31 +00:00
Corinna Vinschen 5d0fe6351a * net.cc (free_addr_list): Add define for symmetry.
(free_hostent_ptr): Use free_addr_list to free h_addr_list element.
        (dup_addr_list): New static function.
        (dup_hostent_ptr): Use dup_addr_list instead of dup_char_list in order
        to handle embedded null characters.
2001-08-24 06:57:53 +00:00
Christopher Faylor ecaff08ccd * dtable.cc (dtable::dup2): Allow extension of fd table by dup2.
* syscalls.cc: Minor code cleanup.
(fpathconf): Check for bad fd before doing anything else.
* termios.cc (tcsetattr): Don't convert to new termios if bad fd.
(tcgetattr): Minor debugging tweak.
2001-08-23 02:27:01 +00:00
Corinna Vinschen cb19ccf4b5 * net.cc (cygwin_inet_ntoa): Rearrange previous patch to use
thread local buffer space when compiled thread safe.
        (cygwin_getprotobyname): Ditto.
        (cygwin_getprotobynumber): Ditto.
        (cygwin_getservbyname): Ditto.
        (cygwin_getservbyport): Ditto.
        (cygwin_gethostbyname): Ditto.
        (cygwin_gethostbyaddr): Ditto. Move near to cygwin_gethostbyname.
        * thread.h (struct _winsup_t): Add pointers for above used buffer space.
        * passwd.cc (getpwduid): Remove initializing passwd.
        (setpwent): Ditto.
        (endpwent): Ditto.
        (setpassent): Ditto.
2001-08-22 21:51:48 +00:00
Christopher Faylor 0a047e8f32 * smallprint.c (console_printf): New function.
* dcrt0.cc (dll_crt0_1): Use console_printf for debugging output.
* debug.cc (debug_mark_closed): New function.
(close_handle): Use debug_mark_closed.
* debug.h: Declare new functions.
* dtable.cc (dtable::build_fhandler): Remove unneeded extern.
* spawn.cc: Cosmetic changes.
* winsup.h: Define NO_COPY for C files, too.  Declare a global.
2001-08-22 17:50:22 +00:00
Corinna Vinschen 1fdc8df95d * net.cc (free_char_list): New static function.
(dup_char_list): Ditto.
        (free_protoent_ptr): Ditto.
        (dup_protoent_ptr): Ditto.
        (free_servent_ptr): Ditto.
        (dup_servent_ptr): Ditto.
        (free_hostent_ptr): Ditto.
        (dup_hostent_ptr): Ditto.
        (cygwin_inet_ntoa): Use local static buffer to allow propagating of
        the result to child processes.
        (cygwin_getprotobyname): Ditto.
        (cygwin_getprotobynumber): Ditto.
        (cygwin_getservbyname): Ditto.
        (cygwin_getservbyport): Ditto.
        (cygwin_gethostbyname): Ditto.
        (cygwin_gethostbyaddr): Ditto.
2001-08-22 15:31:59 +00:00
Christopher Faylor d4d65813a7 fix typo. 2001-08-22 02:40:22 +00:00
Earnie Boyd de8e9cfb39 * include/setupapi.h : New file.
* lib/setupapi.def:New file.
	* lib/test.c: Include setupapi.h.
	* include/winioctl.h (_DISK_PERFORMANCE): Correct typo.
	* include/richedit.h (ENLINK): Add structure definition.
	(EM_AUTOURLDETECT, EN_LINK, ENM_LINK): Add defines.
	* include/shlobj.h (CMIC_*): Remove duplicate defines.
	(CMDSTR_*): Remove duplicates; UNICODE string constants.
	(GCS_*): Make UNICODE.
	(CSIDL_*): Add more defines.
	* include/winioctl.h (_MEDIA_TYPE): Add pointer typedef.
	(_DISK_GEOMETRY): Ditto.
	(_DISK_PERFORMANCE): Ditto.
	* include/winbase.h (HasOverlappedIoCompleted): Add macro.
	* include/winnt.h: Move CHAR, SHORT and LONG typedefs outside
	of block protected by #ifndef VOID.
	(This reverts 1998-12-01 Anders Norlander change.)
	* include/odbcinst.h: End file with newline.
	* include/raserror.h: Ditto.
	* include/winsock2.h (#include <wtypes.h): Don't.
	(_BLOB): Define instead, if not already done.
	(__BLOB_T_DEFINED: New define for guarding _BLOB.
	* include/wtypes.h (_BLOB): Guard against prior definition.
	* include/oaidl.h (tagVARIANT): Mark anonymous structs and unions
	 as 	__extension__.
	(tagTYPEDESC): Ditto.
	(_wireBRECORD): Add structure definition.
	(_wireSAFEARR_BRECORD): Ditto.
	(_wireSAFEARR_HAVEIID): Ditto.
	(_wireSAFEARRAY_UNION.u): Add fields SAFEARR_BRECORD RecordStr,
	SAFEARR_HAVEIID HaveIidStr.
	(tagVariant): Add fields _VARIANT_BOOL bool,*pbool.
	(_wireVARIANT): Change field parray to type wirePSAFEARRAY,
	pparray to wirePSAFEARRAY*.
	(_wireVARIANT): Add field wireBRECORD brecVal.
	(wireVARIANT): Change typedef to struct _wireVariant*.
	(IRecordInfo): Add interface definition.
	(LPRECORDINFO): Add typedef for IRecordInfo*.
	(IID_IRecordInfo): Add forward decalaration.
	* include/lmcons.h: Guard CNLEN and UNCLEN against prior definition.
	* include/nddeapi.h: Likewise.
	* ChangeLog: Formatting and typo fixes.
2001-08-21 13:58:52 +00:00
Christopher Faylor d9b68c2c7d debug 2001-08-20 16:03:54 +00:00
Christopher Faylor b1d0b9073c * cygheap.cc (init_cheap): Allocate cygheap in shared memory for Windows NT. 2001-08-20 15:58:16 +00:00
Egor Duda 933cbf6213 * fhandler_socket.cc (fhandler_socket::create_secret_event): Relax
security of secret_event so AF_UNIX socket clients can connect to
servers even if running under a different user account.
(fhandler_socket::check_peer_secret_event): Ditto.
2001-08-16 14:34:27 +00:00
Corinna Vinschen 1457739a63 * resource.cc (getrlimit): Return getdtablesize () as current limit
on RLIMIT_NOFILE.
        * syscalls.cc (getdtablesize): Return OPEN_MAX if current dtable size
        is less than OPEN_MAX, the current dtable size otherwise.
        * sysconf.cc (sysconf): Return getdtablesize () on _SC_OPEN_MAX.
2001-08-16 14:29:21 +00:00
Corinna Vinschen 3171175e90 * resource.cc (getrlimit): Return OPEN_MAX as current limit
on RLIMIT_NOFILE.
        * syscalls.cc (getdtablesize): Return OPEN_MAX.
        * sysconf.cc (sysconf): Return OPEN_MAX on _SC_OPEN_MAX.
        * include/limits.h (OPEN_MAX): Define as 256.
2001-08-16 14:20:09 +00:00
Corinna Vinschen 91a1423a87 * times.cc (utimes): Revert previous change. Just open the
file using FILE_WRITE_ATTRIBUTES instead of GENERIC_WRITE
        on NT/W2K.
2001-08-15 10:48:43 +00:00
Corinna Vinschen 2a9366ff49 * security.cc (set_nt_attribute): Return always -1 in case of
a failure.
        * times.cc (utimes): On NTFS with ntsec ON, change the file's
        security descriptor temporarily to acquire write access if
        opening the file failed.
2001-08-15 10:21:39 +00:00
Corinna Vinschen 5fd12fb0cc * fhandler.cc (fhandler_base::is_nonblocking): New method.
(fhandler_base::set_nonblocking): Ditto.
        * fhandler.h (fhandler_base): Declare new methods `is_nonblocking' and
        `set_nonblocking'.
        * fhandler_socket.cc (fhandler_socket::ioctl): Use `set_nonblocking'.
        * fhandler_tty.cc (fhandler_pty_master::process_slave_output):
        Use `is_nonblocking'.
        (fhandler_tty_slave::read): Ditto.
        (fhandler_tty_slave::ioctl): Use `set_nonblocking'.
        (fhandler_pty_master::ioctl): Ditto.
        * net.cc (cygwin_sendto): Fallback to winsock 1 functionality
        in case of nonblocking IO.
        (cygwin_recvfrom): Ditto.
        (cygwin_recv): Ditto.
        (cygwin_send): Ditto.
        * syscalls.cc (_read): Use `is_nonblocking'.
2001-08-15 07:49:15 +00:00
Christopher Faylor da3ea61edd * cygpath.cc (main): Support -w for Windows (System) directories and return
physical correct orthography for the Windows System dir.
2001-08-15 03:24:18 +00:00