Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-09-06 * Makefile.in (DLL_OFILES): Add fhandler_procsys.o.Corinna Vinschen
* devices.h (enum fh_devices): Add FH_PROCSYS. * devices.in (dev_procsys_storage): New device. * devices.cc: Regenerate. * dtable.cc (build_fh_pc): Add code to allocate fhandler_procsys. * fhandler.h (proc_len): Convert to size_t. (procsys): Declare. (procsys_len): Declare. (enum virtual_ftype_t): Move here from fhandler_virtual.h. Add members supported by fhandler_procsys. (fhandler_virtual::exists): Return virtual_ftype_t. Change in all derived classes. (class fhandler_procsys): New class. (fhandler_union): Add fhandler_procnet and fhandler_procsys members. * fhandler_disk_file.cc (__DIR_mounts::check_missing_mount): Use ro_u_proc. (fhandler_base::fstat_by_handle): Don't copy attributes if file is an NT device. (fhandler_base::fstat_by_name): Ditto. * fhandler_netdrive.cc (fhandler_netdrive::exists): Return virtual_ftype_t. * fhandler_proc.cc (proc_tab): Sort alphabetically. Use _VN macro to store length. (proc_len): Change to size_t. (proc_tab_cmp): New static function. (virt_tab_search): New function to search entry in virt_tab_t arrays. Use throughout in /proc and sibling classes instead of loop. (fhandler_proc::exists): Return virtual_ftype_t. * fhandler_process.cc (process_tab): Sort alphabetically. Use _VN macro to store length. (fhandler_process::exists): Return virtual_ftype_t. (fhandler_process::open): Simplify code. * fhandler_procnet.cc (procnet_tab): Sort alphabetically. Use _VN macro to store length. (fhandler_procnet::exists): Return virtual_ftype_t. (fhandler_procnet::open): Simplify. * fhandler_procsys.cc: New file. * fhandler_registry.cc (fhandler_registry::exists): Return virtual_ftype_t. * fhandler_virtual.cc (fhandler_virtual::exists): Ditto. * fhandler_virtual.h (enum virtual_ftype_t): Move to fhandler.h. (virt_tab_t): Add name_len member. (_VN): New macro. (virt_tab_search): Declare. * mount.cc (mount_info::conv_to_win32_path): Fix comment. Backslashify isprocsys_dev paths. * ntdll.h (STATUS_OBJECT_TYPE_MISMATCH): Define (STATUS_INSTANCE_NOT_AVAILABLE): Define. (STATUS_PIPE_NOT_AVAILABLE): Define. (STATUS_INVALID_PIPE_STATE): Define. (STATUS_PIPE_BUSY): Define. (SYMBOLIC_LINK_QUERY): Define. (NtOpenSymbolicLinkObject): Declare. (NtQuerySymbolicLinkObject): Declare. * path.cc (path_conv::check): Accommodate fact that exists method returns virtual_ftype_t now. Add cases for new virtual_ftype_t types. (cygwin_conv_path): Add GLOBALROOT prefix to native device paths. Make sure to strip \\?\ prefix only for actual filesystem-based paths, not for all paths. * path.h (isproc_dev): Add FH_PROCSYS. (isprocsys_dev): Define.
2010-09-04 * mount.cc (mount_info::from_fstab_line): Reorder to make sure allCorinna Vinschen
mounts from user fstab are user mounts. (mount): Make sure all mounts are user mounts, even those added via mount -a.
2010-09-02* sigoproc.cc (sigproc_init): Use American spelling in comment.Christopher Faylor
2010-09-02* dcrt0.cc (dll_crt0_0): Remove myself settings.Christopher Faylor
* fork.cc (fork): Set myself process_state * pinfo.cc (pinfo_init): Ditto. (pinfo::thisproc): Make sure any sendsig setting is correctly copied. * pinfo.h: Update copyright. Remove unused code.
2010-09-01* cygthread.cc (cygthread::create): Fix incorrect use of name rather thanChristopher Faylor
__name. * cygthread.h (cygthread::cygthread): Create versions which eliminate 'n' parameter. * dcrt0.cc (dll_crt0_1): Remove check for threadfunc_ix. Remove obsolete comments. Set process_state to active here. * fhandler_netdrive.cc (create_thread_and_wait): Use shortened cygthread constructor. * timer.cc (timer_tracker::settime): Ditto. * window.cc (HWND): Ditto. * fhandler_tty.cc: Use shortened cygthread constructor, where appropriate, throughout. * select.cc: Ditto. * fork.cc (frok::child): Remove wait_for_sigthread. (fork): Reformat if for slightly better clarity. * init.cc (dll_finished_loading): New variable. (dll_entry): Use dll_finished_loading to determine when we should call merge_threadfunc. * sigproc.cc (no_signals_available): Simplify by using my_readsig. (wait_sig_inited): Delete. (wait_sig): Define as void function. (pending_signals): Accommodate change to wait_sig definition. (wait_for_sigthread): Delete definition. (sigproc_init): Initialize signal pipe here, before wait_sig thread is created. Use void form of cygthread creation. (init_sig_pipe): Delete. (wait_sig): Return void rather than DWORD. Assume previous initialization of signal pipe. Set my_sendsig to NULL when exiting. * sigproc.h (wait_for_sigthread): Delete declaration.
2010-09-01 * fhandler_netdrive.cc (fhandler_netdrive::readdir): Set d_type.Corinna Vinschen
(fhandler_netdrive::seekdir): Fix test for readdir return value. * fhandler_registry.cc (fhandler_registry::seekdir): Ditto.
2010-09-01 * include/cygwin/version.h: Bump DLL minor version number to 8.Corinna Vinschen
2010-08-31 * path.cc (normalize_posix_path): Preserve //./ and //?/ prefixes.Corinna Vinschen
(path_conv::check): Allow access to root directory of native NT disk devices.
2010-08-31 * include/cygwin/version.h: Bump DLL minor version number to 7.Corinna Vinschen
2010-08-31* dcrt0.cc (dll_crt0_0): Move sigproc_init later, after cygheap initializationChristopher Faylor
since it relies on the cygheap existing (even if it shouldn't matter do to dll initialization serialization).
2010-08-30 * posix.sgml (std-notes): Fix typos and incorrectnesses.Corinna Vinschen
2010-08-30 * autoload.cc (MsgWaitForMultipleObjectsEx): Define.Corinna Vinschen
(MsgWaitForMultipleObjects): Remove. * select.cc (select_stuff::wait): Use MsgWaitForMultipleObjectsEx with QS_ALLPOSTMESSAGE and, if possible, MWMO_INPUTAVAILABLE flags. Explain why. Fix a potential crash due to a NULL pointer in WAIT_FAILED case. (peek_windows): Use filter pattern on NT4. Explain why. * wincap.h (wincaps::has_mwmo_inputavailable): New element. * wincap.cc: Implement above element throughout.
2010-08-30add missing fileChristopher Faylor
2010-08-30* winlean.h: New file.Christopher Faylor
* automode.c: Use "winlean.h". * binmode.c: Ditto. * gmon.c: Ditto. * textmode.c: Ditto. * textreadmode.c: Ditto. * winsup.h: Ditto. * lib/cygwin_attach_dll.c: Ditto. * lib/dll_main.cc: Ditto. * profile.c: Ditto. * crt0.c: Ditto. Cleanup ancient cruft. Add dummy calls to cygwin_premain*. * include/sys/cygwin.h: Remove old stuff. Move premain declarations nearer to other cygwin-specific function declarations. * globals.cc: Add comment.
2010-08-28 * autoload.cc (LoadDLLprime): Change dllname storage to string16.Corinna Vinschen
(struct dll_info): Convert name to WCHAR. (std_dll_init): Load DLLs with full path to windows system directory. Add hint to Microsoft security advisory. * dcrt0.cc (init_windows_system_directory): New function. (dll_crt0_0): Call init_windows_system_directory first. * exceptions.cc (windows_system_directory): Move to globals.cc. (windows_system_directory_length): Ditto. (events_init): Drop code fetching windows_system_directory. * globals.cc (windows_system_directory): New global variable. (windows_system_directory_length): Ditto. * net.cc (load_ipv6_funcs): Use windows_system_directory rather than GetSystemDirectoryW. * netdb.cc (open_system_file): Ditto. Simplify debug output.
2010-08-27 * external.cc (sync_wincwd): Remove.Corinna Vinschen
(cygwin_internal): Drop CW_SYNC_WINCWD case. * globals.cc (ro_u_pipedir): New R/O unicode string. * ntdll.h (RtlSetCurrentDirectory_U): Declare. * path.cc (cwdstuff::set): Improve comments. Drop setting Win32 CWD to \\?\PIPE\ on init. Keep Win32 CWD in sync, if possible. Set to \\?\PIPE\ otherwise. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Revert to 230. * include/sys/cygwin.h (cygwin_getinfo_types): Remove CW_SYNC_WINCWD.
2010-08-27 * fhandler_proc.cc (format_proc_partitions): Improve comment.Corinna Vinschen
2010-08-26 * fhandler_proc.cc (format_proc_partitions): Simplify code and enableCorinna Vinschen
partition layout printing for non-privileged users.
2010-08-25 * mount.cc (fs_info::update): Fix comments.Corinna Vinschen
2010-08-25 * syscalls.cc (rename): Open file with FILE_READ_ATTRIBUTES.Corinna Vinschen
2010-08-24 * include/cygwin/version.h: Fix comment.Corinna Vinschen
2010-08-24 * external.cc (cygwin_internal): In CW_CVT_MNT_OPTS case, initializeCorinna Vinschen
flags with *pflags to restore original behaviour.
2010-08-21 * Makefile.in (DLL_IMPORTS): Link against advapi32.a before kernel32.a.Corinna Vinschen
2010-08-20* cygthread.cc: Update copyright.Christopher Faylor
2010-08-20 * path.cc (path_conv::check): Close handle in conv_handle if we'reCorinna Vinschen
following a symlink.
2010-08-20 * endian.h (htobe16, htobe32, htobe64, be16toh, be32toh, be64toh,Corinna Vinschen
htole16, htole32, htole64, le16toh, le32toh, le64toh): Define.
2010-08-20 * fhandler_disk_file.cc (readdir_check_reparse_point): Rename fromCorinna Vinschen
is_volume_mountpoint. Return valid d_type value for underlying reparse point type. (readdir_get_ino): Don't rely on the handle set in pc.check. Open file here if pc.handle() is NULL. (fhandler_disk_file::readdir_helper): Try to set a correct d_type value more diligent. (fhandler_disk_file::readdir): Don't reset dirent_set_d_ino unless we're really sure it's due to an untrusted FS. Simplify usage of FileAttributes, which is 0 if buf is NULL, anyway. Set d_type correctly for faked "." and ".." entries. Improve debug output. * path.cc (symlink_info::check): Don't keep handle to volume mount point open. Explain why.
2010-08-20 * fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Revert usageCorinna Vinschen
of get_stat_handle () to get_handle (). Add comment to explain why. * syscalls.cc (statvfs): Drop using PC_KEEP_HANDLE.
2010-08-19 * external.cc (sync_wincwd): New function.Corinna Vinschen
(cygwin_internal): Rename CW_SETCWD to CW_SYNC_WINCWD. Call sync_wincwd from here. * include/sys/cygwin.h (cygwin_getinfo_types): Rename CW_SETCWD to CW_SYNC_WINCWD.
2010-08-18* external.cc (CW_SETCWD): New option.Christopher Faylor
* include/cygwin/version.h: Bump api minor to 231. * include/sys/cygwin.h (CW_SETCWD): Define.
2010-08-18 * syscalls.cc (rename): Fix renaming file-based devices.Corinna Vinschen
2010-08-18 * exceptions.cc (open_stackdumpfile): Don't try to open file if weCorinna Vinschen
have no filesystem based CWD. Add comment. * path.cc (cwdstuff::set): Set CWD handle to NULL if CWD is a virtual path. Simplify matching comment.
2010-08-18 * fhandler_disk_file.cc (fhandler_base::fstat_helper): Set st_rdevCorinna Vinschen
to correct device number for fs_special devices.
2010-08-16 * include/cygwin/version.h: Bump DLL minor version number to 6.Corinna Vinschen
2010-08-14 * pipe.cc (fhandler_pipe::open): Duplicate content of opened pipeCorinna Vinschen
fhandler before calling dup method.
2010-08-13 * cygheap.h (class cwdstuff): Make drive_length private.Corinna Vinschen
Add "error" member. (cwdstuff::get_error): New inline method. (cwdstuff::get_error_desc): Declare. (cwdstuff::set): Change first parameter to pointer to path_conv. * path.cc (chdir): Drop doit. Align call to cwdstuff::set to new arguments. (cwdstuff::init): Only call cwdstuff::set if it's not already initialized. Add comment. Drop third parameter in call to cwdstuff::set. (cwdstuff::set): Partially rewrite. Add lots of comments to explain everything. Drop "doit" since it's not used anymore. Always create new handle to CWD if not in a virtual path. Drop PEB locking when reading PEB values in init phase. Check for accessibility to set correct error code. Drop Vista workaround. Never write back into PEB. Set Win32 CWD to \\?\PIPE\ on init. Simplify creation of win32 path. Set new error member to a meaningful value. (cwdstuff::get_error_desc): New method to generate error message from cwd error code. * spawn.cc (spawn_guts): Call cwdstuff::get_error_desc to create more meaningful error message when not being able to start native Win32 app due to CWD restrictions. When starting native Win32 app, lock cwd and use in calls to CreateProcessW/CreateProcessAsUserW.
2010-08-11 * mount.cc (struct opt): Add "bind" option.Corinna Vinschen
(mount_info::from_fstab_line): Handle "bind" option. (fillout_mntent): Add "bind" option to mnt_opts. (mount): Handle "bind" option. * include/sys/mount.h (MOUNT_BIND): New mount flag.
2010-08-10* sigproc.cc (init_sig_pipe): Add retry loop.Christopher Faylor
2010-08-09* cygheap.h (cygheap_fdmanip): Delete fh and use fd index into cygheap->fdtabChristopher Faylor
throughout. (cygheap_fdnew): Replace fh by using fd index into cygheap->fdtab throughout. (cygheap_fdget): Ditto. (cygheap_fdenum): Ditto.
2010-08-09Implement POSIX.1-2004 Monotonic Clock.Yaakov Selkowitz
* hires.h: Change hires_us to hires_ns, with nanosecond resolution. (hires_ns::primed_ft): Remove. (hires_ns::nsecs): New prototype. (hires_ns::usecs): Rewrite in terms of nsecs. (hires_ns::resolution): New prototype. * times.cc: Change hires_us to hires_ns. (ntod): Declare. (systime): Remove. (hires_ns::prime): Increase resolution to nanoseconds. (hires_ns::nsecs): Rename usecs to nsecs to reflect increased resolution. Remove justdelta argument. (hires_ns::resolution): New function. (clock_gettime): Accept CLOCK_MONOTONIC. Use EINVAL instead of ENOSYS per POSIX.1-2004. (clock_getres): Ditto. (clock_setres): Use EINVAL instead of ENOSYS to conform with other implementations. * strace.cc (strace::microseconds): Adjust for hires_ns. * sysconf.cc (sca): Set _SC_MONOTONIC_CLOCK to _POSIX_MONOTONIC_CLOCK. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2010-08-09 * fhandler_proc.cc: Add /proc/filesystems virtual file.Corinna Vinschen
(format_proc_filesystems): New function. * mount.cc (fs_names): Move to global scope. Redefine as array of { "name", block_device? } structs. (fillout_mntent): Use name member of fs_names. * mount.h (fs_names): New prototype.
2010-08-09 * include/dlfcn.h (RTLD_LOCAL): Define.Corinna Vinschen
2010-08-06 * include/sys/dirent.h (d_fileno): Define as d_ino.Corinna Vinschen
2010-08-04 * path.cc (cygwin_conv_path): Rearrange test for "." in POSIX toCorinna Vinschen
relative DOS path conversion. Simplify fixing the path. In CCP_POSIX_TO_WIN_W conversion, always drop long path prefix if path fits into MAX_PATH. Explain why.
2010-08-01* exceptions.cc (_cygtls::interrupt_now): Revert to checking for "spinning"Christopher Faylor
when choosing to defer signal. (_cygtls::call_signal_handler): Grab func when we have the lock. * gendef: Update copyright. (__sigbe): Simplify slightly. (_sigdelayed): Grab a lock before manipulating stuff. (_cygtls::pop): Properly return popped value. (stabilize_sig_stack): Set incyg when we have the lock. * sigproc.cc: Update copyright.
2010-07-30* cygthread.h (LPVOID_THREAD_START_ROUTINE): Define.Christopher Faylor
(cygthread::create): Rename from cygthread::cygthread. (cygthread::cygthread): Define new constructor which accepts LPVOID_THREAD_START_ROUTINE as the first argument. Call cygthread::create. * cygthread.cc (cygthread::create): Rename from cygthread::cygthread. Use 'arglen' rather than 'n' since 'n' is no longer supplied. * fhandler_tty.cc (process_input): Define as void/noreturn. (process_output): Ditto. (process_ioctl): Ditto. (fhandler_tty_master::init): Don't "zap_h" cygthreads which are noreturn. It's now implied.
2010-07-23 * fhandler.cc (fhandler_base::raw_write): Remove STATUS_DISK_FULLCorinna Vinschen
special handling.
2010-07-19Add mkostemp and mkostemps.Eric Blake
* mktemp.cc (_gettemp): Add flags argument. All callers updated. (mkostemp, mkostemps): New functions. * cygwin.din (mkostemp, mkostemps): Export. * posix.sgml: Document them. * include/cygwin/version.h: Bump version.
2010-07-19* autoload.cc (noload): Use "pushl" rather than "push".Christopher Faylor
2010-07-19* exceptions.cc (_cygtls::interrupt_now): Avoid nonsensical tests which delayChristopher Faylor
an interrupt. (setup_handler): Remove unneeded DEBUGGING handling. Ensure that stack is locked when we are about to do push/pop to it. Fix debugging output.