(verify_windows): Ditto.
(fhandler_console::select_read): Really do need to verify that there is
something to read.
(fhandler_console::select_windows): Ditto.
(fhandler_tty_slave::ready_for_read): Ditto.
(select_record): Remove poll, initialize peek.
* select.cc: Remove all poll functions, throughout. Change second argument of
peek_* functions to 'bool' throughout. Specifically initialize *_ready
variables throughout.
(select_stuff::poll): Subsume previous poll functionality.
(peek_pipe): Don't grab guard mutex when in select loop. select()/read() is
racy by design so there is no need to worry about a race in select().
(fhandler_base::ready_for_read): Remove unused argument.
(fhandler_tty_slave::ready_for_read): Ditto.
* syscalls.cc (_read): Eliminate third argument in ready_for_read call.
(get_group_sidlist): Call get_supplementary_group_sidlist() to
retrieve list of supplementary groups SIDs from /etc/group and
add them to the user's group list.
device.
* fhandler.h (fhandler_base::set_eof): New virtual method.
(fhandler_pipe::set_eof): New method.
* pipe.cc (fhandler_pipe::fhandler_pipe): Clear saweof flag.
(fhandler_pipe::read): Return immediately if hit eof.
(fhandler_pipe::hit_eof): Return true if saweof flag is set.
* select.cc (peek_pipe): Don't call PeekNamedPipe if we couldn't grab the guard
mutex.
inline" warnings.
* security.h (class cygsid): Ditto.
* sigproc.cc (get_proc_lock): Ditto.
* sigproc.h (class sigframe): Ditto.
* sync.h (class muto): Ditto.
* fhandler.h (fhandler_base::get_guard): Actually MAKE virtual as previously
indicated.
* pipe.cc (make_pipe): Remove extraneous set_errno.
* syscalls.cc (_open): Ditto.
* select.cc (peek_pipe): Need to check that there is still something to read
from the pipe after acquiring the mutex since another process/thread could have
eaten the input before we got to acquiring the lock. (Thanks to Nick Duffek
for this inspiration.)
* select.cc (fhandler_base::ready_for_read): Set read_ready to zero prior to
testing it or it will be uninitialized.
* Makefile.in (CFLAGS): Move setting to Makefile.common.
* select.cc (fhandler_base::ready_for_read): Release an open guard mutex when
exiting with an error condition.
* syscalls.cc (_read): Check frequently for closed fd as a kludge until
something better is invented.
* fhandler.cc (fhandler_base::close): Show both name and handle in debugging
output.
* fhandler.h (fhandler_base::get_guard): New virtual method.
(fhandler_pipe::get_guard): New method.
(fhandler_socket::ready_for_read): Delete declaration.
(fhandler_pipe::ready_for_read): Ditto.
(fhandler_serial::ready_for_read): Ditto.
(fhandler_console::ready_for_read): Ditto.
(fhandler_tty_common::ready_for_read): Ditto.
(fhandler_windows::ready_for_read): Ditto.
(struct select_record::peek): Declare new method.
* select.cc (MAKEready): Delete.
(peek_pipe): Use get_guard method to retrieve potential guard mutex handle.
(fhandler_base::ready_for_read): Rewrite as generic ready-for-read handler.
Should only be called for "slow" devices.
(fhandler_socket::ready_for_read): Delete definition.
(fhandler_pipe::ready_for_read): Ditto.
(fhandler_serial::ready_for_read): Ditto.
(fhandler_console::ready_for_read): Ditto.
(fhandler_tty_common::ready_for_read): Ditto.
(fhandler_windows::ready_for_read): Ditto.
(fhandler_pipe::select_read): Fill in new peek record in select_record
structure.
(fhandler_console::select_read): Ditto.
(fhandler_tty_common::select_read): Ditto.
(fhandler_serial::select_read): Ditto.
(fhandler_socket::select_read): Ditto.
(fhandler_socket::select_read): Ditto.
(fhandler_tty_slave::ready_for_read): Check for tty not open. Set errnos
appropriately.
* syscalls.cc (_read): Allow ready_for_read to set errno.
* pinfo.cc (pinfo::init): Return spawn/NO_WAIT process as valid if it is
initializing.
* sigproc.cc (getsem): Adjust wait for process to initialize downward to avoid
huge waits.
* include/io.h (_commit): Add declaration.
Thanks to: "stefan" <stefan@lkcc.org>
2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
* include/sys/stat.h: Make S_IS* macros safer.
2001-10-27 Danny Smith <dannysmith@users.sourceforge.net>
* include/stdlib.h (EXIT_FAILURE): Change value to 1.
2001-10-12 Danny Smith <dannysmith@users.sourceforge.net>
* include/stdlib.h (__p__environ, __p__wenviron): Use
__STDC__ prototypes.
* libm/mathfp/sf_isinf.c (isinff): Change to use _DEFUN macro.
[_DOUBLE_IS_32BITS](isinf): New function that calls isinff.
* libm/mathfp/sf_isnan.c (isnanf): Change to use _DEFUN macro.
[_DOUBLE_IS_32BITS](isnan): New function that calls isnanf.
* include/basetyps.h (DECLARE_INTERFACE): Don't add
__attribute__((com_interface)) for __GNUC__ >= 3.
2001-11-01 Danny Smith <dannysmith@users.sourceforge.net>
* include/commdlg.h (PRINTPAGERANGE): Add structure
definition.
(PRINTDLGEX[AW]): Likewise.
(PrintDlgEx[AW]): Add function declaration.
* lib/comdlg32.def (PrintDlgEx[AW]): Add function stubs.
* ChangeLog: Fix typo in last entry.
2001-11-01 TAMURA Kent <tkent@users.sourceforge.net>
* include/objbase.h (CoGetClassObject): Change third parameter
to COSERVERINFO*.
2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
* include/winuser.h (MOUSEEVENTF_WHEEL): Define.
Thanks to: Kim Saunders.
* include/oleauto.h: Define VARIANT* flags for VariantChangeType.
Thanks to: Pat Thoyts.
* include/winnt.h: Change C++ style comment to C style.
* include/shlobj.h: Ditto.
* include/objbase.h (enum tagCOINIT): Remove comma at end of
list.
* include/oledlg.h (enum tagOLEUIPASTEFLAG): Ditto.
* include/oleidl.h (enum tagDROPEFFECT): Mark as __extension__
(enum not limited to range of int).
* include/oaidl.h (struct tagVARIANT): Mark as __extension__
(struct with no named members), ifndef NONAMELESSUNION.
2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
* include/winuser.h (CREATESTRUCT): UNICODE it.
(CBT_CREATEWND): Likewise.
2001-10-20 Corinna Vinschen <corinna@vinschen.de>
* include/winnetwk.h (WNetGetResourceInformationA): Add declaration.
(WNetGetResourceInformationW): Ditto.
(WNetGetResourceInformation): Add define.
2001-10-12 Pedro A Aranda <paaguti@hotmail.com>
* include/winuser.h (POINTSTOPOINT): Use explicit casts
before extracting words.
* m32r/Makefile.in: Use gdb stub set by configure.
* m32r/configure.in: Add a special macro for testing
c compiler without building executable. Add setting of
GDBSTUB.
* m32r/configure: Regenerated.
* syscall.h: Added SYS_times, SYS_gettimeofday, SYS_link values.
* mn10300/times.c: Renamed "times" to "_times" so that it can be
referenced by newlib.
* mn10300/cygmon.c: New file.
* mn10300/crt0_redboot.S: Ditto.
* mn10300/crt0_cygmon.S: Ditto.
* mn10300/Makefile.in: Added RedBoot and Cygmon support.
* mn10300/configure.in: Changed to allow for future
evaluation boards to be added.
* mn10300/configure: Regenerated.
(cygheap_fdmanip::isopen): New method.
* syscalls.cc (_read): Avoid accessing closed fd.
* path.h (fe_types): New enum.
(path_conv::set_path): New method.
(find_exec): Change null_if_not_found argument to something more generic.
* spawn.cc (find_exec): Default to returning the POSIX path rather than the
windows path, unless instructed otherwise.
(spawn_guts): Force call to find_exec to use native paths.
* dlfcn.cc (check_path_access): Accommodate new find_exec arguments.
* environ.h (win_env::get_posix): New method.
class rather than cygheap->fdtab.
* fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Add more
debugging output.
(fhandler_socket::dup): Allocate new space for prot_info_ptr for duplicated
entry.
* syscalls.cc (stat_worker): Always delete fh if it has been created.
argument.
* fhandler_serial.cc (fhandler_serial::fhandler_serial): Ditto.
(fhandler_serial::open): Avoid else when previous clause is a return().
* path.cc (get_devn): Alias /dev/ttyS0 -> /dev/com1, etc.
(get_device_number): Reallow standalone "com1" as a valid name for /dev/com1.
* shared.cc (open_shared): Accept a number to denote the shared memory region.
(memory_init): Use shared memory version as part of the object name of the
shared region. Ditto for the mount table.
* path.cc (CYGWIN_REGNAME): New define used in place of
CYGWIN_INFO_CYGWIN_REGISTRY_NAME throughout.
* external.cc (cygwin_internal): Implement CW_[GS]ET_CYGWIN_REGISTRY_NAME.
* cygheap.h (init_cygheap::cygwin_regname): New element.
* libc/stdio/fseek.c: Reset pointer to buffer base
when forced to seek outside of current buffer contents.
This prevents the code from erroneously thinking there is
anything in the current buffer.