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
2006-03-23* sigproc.cc (sigalloc): Don't set SA_RESTART here.Christopher Faylor
* signal.cc (_SA_NORESTART): New flag. (sigaction_worker): New function, derived from sigaction. Don't set internal flags unless called internally. (sigaction): Use sigaction_worker. (signal): Honor new _SA_NORESTART flag. (siginterrupt): Set _SA_NORESTART flag appropriately. Use sigaction_worker to set flags. * include/cygwin/signal.h: Define _SA_INTERNAL_MASK here.
2006-03-22 * thread.cc (pthread_mutex::is_good_initializer_or_bad_object): Delete.Corinna Vinschen
(pthread_cond::is_good_initializer_or_bad_object): Delete. (pthread_rwlock::is_good_initializer_or_bad_object): Delete. (pthread_cond::init): Remove disabled code. Guard assignment to object to initialize against access violation. (pthread_rwlock::init): Ditto. (pthread_mutex::init): Ditto.
2006-03-22* fhandler.cc (fcntl): Print flags in hex.Christopher Faylor
* dcrt0.cc (dll_crt0_0): Semi-revert 2006-03-14 change which moved pinfo_init and uinfo_init here. (dll_crt0_1): Ditto. (__dll_crt0): Ditto. Don't call update_envptrs here. (dll_crt0_1): Ditto. Move wait_for_sigthread call here from dll_crt0_0. * environ.cc (environ_init): Call it here instead. * sigproc.cc (my_readsig): New static variable. (wait_for_sigthread): Set up read pipe here since we are assured that we have the proper privileges when this is called. (talktome): Eliminate second argument since it is available as a global now. (wait_sig): Reflect use of my_readsig.
2006-03-22 * thread.cc (pthread_cond::init): Disable validity test of objectCorinna Vinschen
to initialize since test of uninitialized content is unreliable. (pthread_rwlock::init): Ditto. (pthread_mutex::init): Ditto.
2006-03-22* signal.cc (signal): Don't set SA_RESTART here.Christopher Faylor
(siginterrupt): White space. * sigproc.cc (sigalloc): Set SA_RESTART here, on initialization.
2006-03-22* child_info.h (child_status): Fix typo which made it impossible to setChristopher Faylor
iscygwin. (child_info::isstraced): Booleanize. (child_info::iscygwin): Ditto. * sigproc.cc (child_info::child_info): Minor cleanup of flag setting. * spawn.cc (spawn_guts): Only close_all_files when we know the process has started successfully. * exceptions.cc (init_console_handler): Fix indentation.
2006-03-21* dcrt0.cc (dll_crt0_0): Call SetErrorMode earlier.Christopher Faylor
* pinfo.cc (_pinfo::dup_proc_pipe): Reset wr_proc_pipe on failure. Return previous pipe handle. * pinfo.h (_pinfo::dup_proc_pipe): Reflect change to return value. * spawn.cc (spawn_guts): Restore previous proc pipe on retry or if process exits before synchronization.
2006-03-20* child_info.h (child_status): New enum.Christopher Faylor
(child_info::flag): Rename from 'straced'. (child_info::isstraced): New function. (child_info::iscygwin): Ditto. (child_info_fork::handle_fork): Reparmize. (child_info_fork::handle_failure): Ditto. (child_info_spawn::handle_spawn): New function. * dcrt0.cc (get_cygwin_startup_info): Use isstraced method. (child_info_spawn::handle_spawn): Define new function from code previously in dll_crt0_0. (dll_crt0_0): Move spawn stuff into handle_spawn. Only call init_console_handler for fork case. * sigproc.cc (child_info::child_info): Set flag appropriately. (child_info::proc_retry): Treat exit code as "funny" if it's a cygwin process. * spawn.cc (spawn_guts): Remove commented out flag setting.
2006-03-20revert previous debugging checkinChristopher Faylor
2006-03-20* pinfo.cc (commune_process): Fix randomly invalid pointer which caused fifosChristopher Faylor
to work incorrectly.
2006-03-20* dcrt0.cc (dll_crt0_0): Oops. We need to bother with setting this in theChristopher Faylor
fork/exec case.
2006-03-20* dcrt0.cc (dll_crt0_0): Don't bother with setting init_console_handler hereChristopher Faylor
since it will be set later when we discover if we have a ctty or not. * exceptions.cc (init_console_handler): Properly remove NULL handler.
2006-03-18* pinfo.h (EXITCODE_OK): Define new constant.Christopher Faylor
* sigproc.cc (child_info::sync): Return EXITCODE_OK if entering with exit_code == 0. (sig_send): Don't complain if sending signals while blocked if the sender isn't in the main thread.
2006-03-18* child_info.h (CURR_CHILD_INFO_MAGIC): Regenerate.Christopher Faylor
(child_info::retry): Move here from fork subclass. (child_info::exit_code): New field. (child_info::retry_count): Max retry count for process start. (child_info::proc_retry): Declare new function. (child_info_fork::retry): Move to parent. (child_info_fork::fork_retry): Ditto. * dcrt0.cc (child_info::fork_retry): Rename and move. (child_info_fork::handle_failure): Move. (dll_crt0_0): Initialize console handler based on whether we have a controlling tty or not. Avoid nonsensical check for fork where it can never occur. * environ.cc (set_proc_retry): Rename from set_fork_retry. Set retry_count in child_info. (parse_thing): Reflect above change. * exceptions.cc (dummy_ctrl_c_handler): Remove unused variable name. (ctrl_c_handler): Always return TRUE for the annoying CTRL_LOGOFF_EVENT. * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Remove call to init_console_handler. * fhandler_tty.cc (fhandler_tty_slave::open): Just call mange_console_count here and let it decide what to do with initializing console control handling. * fork.cc (fork_retry): Remove definition. (frok::parent): Define static errbuf and use in error messages (not thread safe yet). Close pi.hThread as soon as possible. Protect pi.hProcess as soon as possible. Don't set retry_count. That happens automatically in the constructor now. Accommodate name change from fork_retry to proc_retry. * init.cc (dll_entry): Turn off ctrl-c handling early until we know how it is supposed to be handled. * pinfo.cc (_pinfo::dup_proc_pipe): Remember original proc pipe value for failure error message. Tweak debug message slightly. * sigproc.cc (child_info::retry_count): Define. (child_info::child_info): Initialize retry count. (child_info::sync): Set exit code if process dies before synchronization. (child_info::proc_retry): Rename from child_info_fork::fork_retry. Use previously derived exit code. Be more defensive about what is classified as an error exit. (child_info_fork::handle_failure): Move here from dcrt0.cc. * spawn.cc (spawn_guts): Maintain error mode when starting new process to avoid annoying pop ups. Move deimpersonate call within new loop. Move envblock freeing to end. Loop if process dies prematurely with bad exit code. * syscalls.cc (init_console_handler): Remove hopefully unneeded call to init_console_handler.
2006-03-16* cygheap.cc (init_cygheap::manage_console_count): Turn console control handlerChristopher Faylor
on/off depending on whether we have allocated a console or not. * dcrt0.cc (child_info_fork::fork_retry): Add more potential retry statuses. (dll_crt0_0): Turn on/off console control depending on whether we have a controlling tty or not. * exceptions.cc (init_console_handler): Change BOOL to bool. * fhandler_console.cc (fhandler_console::need_invisible): Cosmetic change. * winsup.h (init_console_handler): Reflect argument type change. * wincap.h (supports_setconsolectrlhandler_null): Remove duplicate capability throughout. * wincap.cc: Ditto.
2006-03-15* child_info.h (child_info_fork::fork_retry): Declare new function.Christopher Faylor
* dcrt0.cc (child_info_fork::fork_retry): Define new function. * fork.cc (frok::parent): Move retry decision into child_info_fork::fork_retry and honor what it tells us to do. * sigproc.cc (sig_send): Unhold signals on __SIGEXIT.
2006-03-15* fork.cc (frok::parent): Improve error message.Christopher Faylor
2006-03-14* dcrt0.cc (main_environ): Initialize to &__cygwin_environment.Christopher Faylor
(dll_crt0_1): Move resourcelocks, thread interface, pinfo_init, and uinfo_init... (dll_crt0_0): ...to here. (_dll_crt0): Call update_envptrs here after setting main_environ. * environ.cc (environ_init): Eliminate initted variable. Don't call update_envptrs here. * sigproc.cc (wait_sig): Use my_sendsig when calling CreatePipe to avoid a dereference.
2006-03-14* child_info.h (child_info_fork::handle_failure): Declare new function.Christopher Faylor
(child_info_fork::retry): New field. * dcrt0.cc (__api_fatal_exit_val): Define. (child_info_fork::handle_failure): Define new function. (__api_fatal): Exit using __api_fatal_exit_val value. * environ.cc (set_fork_retry): Set fork_retry based on CYGWIN environment variable. (parse_thing): Add "fork_retry" setting. * fork.cc (fork_retry): Define. (frok::parent): Reorganize to allow retry of failed child creation if child signalled that it was ok to do so. * heap.cc (heap_init): Signal parent via handle_failure when VirtualAlloc fails. * pinfo.h (EXITCODE_RETRY): Declare. * sigproc.cc (child_info::sync): Properly exit with failure condition if called for fork and didn't see subproc_ready. * spawn.cc (spawn_guts): Use windows pid as first argument. * winsup.h: Remove obsolete NEW_MACRO_VARARGS define. (__api_fatal_exit_val): Declare. (set_api_fatal_return): Define. (in_dllentry): Declare. * exceptions.cc (inside_kernel): Remove unneeded in_dllentry declaration.
2006-03-13* dcrt0.cc (dll_crt0_0): Reorganize so that sigproc_init is called a littleChristopher Faylor
later. Add a comment. * fork.cc (resume_child): Make void. (frok::parent): Only zero pi when necessary. Explicitly zero si. Set this_errno when child_copy fails. Accommodate change to resume_child. * sigproc.cc (sigalloc): Move global_sigs initialization here. (sigproc_init): Move global_sigs. (sig_send): Just check for flush signals once. * wincap.h: Define supports_setconsolectrlhandler_null throughout. * wincap.cc: Ditto.
2006-03-13 Fix typo.Corinna Vinschen
2006-03-13 * autoload.cc (LoadDLLfuncNt): New define to wrap NT native functions.Corinna Vinschen
Use for NT native functions throughout. * dtable.cc (handle_to_fn): Treate return value of NtQueryObject as NTSTATUS value.
2006-03-13tweak last ChangeLog descriptionChristopher Faylor
2006-03-13* cygtls.cc (_cygtls::remove): Reset initialized flag right away if we wereChristopher Faylor
previously initialized. * cygtls.h (_cygtls::initialized): Move nearer the end to catch situation when Windows 98 mysteriously changes pieces of cygtls when thread is detaching. * gendef (__sigfe_maybe): Simplify slightly. * tlsoffsets.h: Regenerate.
2006-03-13* cygtls.h (CYGTLS_INITIALIZED): Change to a little more unlikely value.Christopher Faylor
(CYGTLSMAGIC): Delete. * dcrt0.cc (dll_crt0_0): Call sigproc_init during init startup. (_dll_crt0): Don't worry about sync_startup. Just wait for sigthread here. * dll_init.cc (cygwin_detach_dll): Only pick up tls version of retaddr if we have a valid tls. * fork.cc (frok::child): Remove sigproc_init initialization since it happens much earlier now. * gendef: Recognize SIGFE_MAYBE. (fefunc): Generate calls to _sigfe_maybe, if appropriate. (_sigfe_maybe): New function. * init.cc (search_for): Always initialize search_for, even on fork. (calibration_thread): Delete. (calibration_id): Delete. (prime_threads): Delete. (munge_threadfunc): Remove calibration_thread special case. Avoid calling thread function if we haven't yet hit the "search_for" thread. (dll_entry): Remove prime_threads call. Only call munge_threadfunc when hwait_sig is active. Ditto. for _my_tls.remove (); * sigproc.cc (hwait_sig): Make global. (sigproc_init): Don't bother with sync_startup. (sig_send): Treat flush as a no-op when signals are held. (wait_sig): Cause signals to be held after fork.
2006-03-09 * syscalls.cc (rename): Move existance check for oldpath further upCorinna Vinschen
to the start of the function. Avoid another case of a name collision if oldpath is a shortcut and a file or directory newpath already exists.
2006-03-09 * autoload.cc (NtClose): Define.Corinna Vinschen
(NtOpenDirectoryObject): Define. (NtQueryDirectoryObject): Define. * fhandler_proc.cc: Include ctype.h and wchar.h. (format_proc_partitions): Revamp loop over existing harddisks by scanning the NT native \Device object directory and looking for Harddisk entries. * ntdll.h: Rearrange system call declarations alphabetically. (DIRECTORY_QUERY): Define. (struct _DIRECTORY_BASIC_INFORMATION): Define. (NtOpenDirectoryObject): Declare. (NtQueryDirectoryObject): Declare.
2006-03-09 Remove accidentally checked in ChangeLog entry.Corinna Vinschen
2006-03-09* cygtls.h (_cygtls::retaddr): New method.Christopher Faylor
* dll_init.cc (cygwin_detach_dll): Use new tls function to find return address since this function is now signal guarded. (update_envptrs): Remove unneeded braces. * syscalls.cc (statvfs): Coerce full_path to avoid a gcc warning.
2006-03-08 * syscalls.cc (statvfs): Simplify path name expression.Corinna Vinschen
2006-03-08 * syscalls.cc: Include winioctl.h.Corinna Vinschen
(statvfs): Request correct volume size using DeviceIoControl if quotas are enforced on the file system.
2006-03-03 * dir.cc (opendir): Fix indentation.Corinna Vinschen
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Move storing fhandler in file descriptor table to some point very late in function to avoid double free'ing. Add comment to explain what happens. Add label free_mounts and don't forget to delete __DIR_mounts structure if NtOpenFile fails.
2006-03-02 * syscalls.cc (chroot): Disallow chroot into special directories.Corinna Vinschen
Return EPERM instead.
2006-03-02 * fhandler_disk_file.cc (__DIR_mounts::check_missing_mount): CheckCorinna Vinschen
cygdrive string length for those who have cygdrive mapped to "/".
2006-03-02 * sec_helper.cc (set_cygwin_privileges): Request SE_BACKUP_NAMECorinna Vinschen
privileges.
2006-03-02 * fhandler_proc.cc (fhandler_proc::fstat): Always return fixed linkCorinna Vinschen
count of 1 for /proc directory instead of incorrect PROC_LINK_COUNT.
2006-03-02 * fhandler.h (enum dirent_states): Remove dirent_saw_cygdrive,Corinna Vinschen
dirent_saw_dev and dirent_saw_proc. (fhandler_cygdrive::open): Declare. (fhandler_cygdrive::close): Declare. * fhandler_disk_file.cc (class __DIR_mounts): Move to beginning of file. (__DIR_mounts::check_mount): New parameter to indicate if inode number is needed in calling function or not. Add /proc and /cygdrive handling. (__DIR_mounts::check_missing_mount): Ditto. (path_conv::ndisk_links): Use __DIR_mounts class to create correct hardlink count for directories with mount points in them. (fhandler_disk_file::readdir_helper): Remove /dev, /proc and /cygdrive handling. (fhandler_cygdrive::open): New method. (fhandler_cygdrive::close): New method. (fhandler_cygdrive::fstat): Always return fixed inode number 2 and fixed link count of 1. Drop call to set_drives. (fhandler_cygdrive::opendir): Drop call to get_namehash. (fhandler_cygdrive::readdir): Handle "." entry to return fixed inode number 2.
2006-03-02* cygwin.din: Fix some erroneous SIGFE/NOSIGFE settings.Christopher Faylor
* cygthread.cc (cygthread::callfunc): Revert below change. Make ev a manual reset event again. so that it will be reset by WaitFor*Object as appropriate. (cygthread::stub): Ditto. (cygthread::terminate_thread): Reset ev if it was found to have been set.
2006-03-01* analyze_sigfe: New script.Christopher Faylor
* dllfixdbg: Add copyright. * gendef: Ditto. * gendevices: Ditto. * gentls_offsets: Ditto.
2006-03-01* cygthread.cc (cygthread::callfunc): Create ev as an auto-reset event so thatChristopher Faylor
it will be reset by WaitFor*Object as appropriate. (cygthread::stub): Ditto. (cygthread::terminate_thread): Remove forced setting of thread termination.
2006-03-01 * include/sys/dirent.h (struct __DIR): Rename __d_unused toCorinna Vinschen
__d_internal. * fhandler_disk_file.cc (struct __DIR_cache): Remove useless "typedef". (d_dirname): Remove useless "struct". (d_cachepos): Ditto. (d_cache): Ditto. (class __DIR_mounts): New class, implementing mount point tracking for readdir. (d_mounts): New macro for easy access to __DIR_mounts structure. (fhandler_disk_file::opendir): Allocate __DIR_mounts structure and let __d_internal element of dir point to it. (fhandler_disk_file::readdir_helper): Add mount points in the current directory, which don't have a real directory backing them. Don't generate an inode number for /dev. Add comment, why. (fhandler_disk_file::readdir): Move filling fname to an earlier point. Check if current entry is a mount point and evaluate correct inode number for it. (fhandler_disk_file::readdir_9x): Ditto. (fhandler_disk_file::rewinddir): Set all mount points in this directory to "not found" so that they are listed again after calling rewinddir(). (fhandler_disk_file::closedir): Deallocate __DIR_mounts structure. * path.cc (mount_info::get_mounts_here): New method to evaluate a list of mount points in a given parent directory. * shared_info.h (class mount_info): Declare get_mounts_here.
2006-02-28 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Use iscygdriveCorinna Vinschen
instead of isspecial. * path.h (path_conv::iscygdrive): New method.
2006-02-28* exceptions.cc (_cygtls::interrupt_now): Remove "inside cygwin" check sinceChristopher Faylor
some cygwin functions are meant to be interrupted.
2006-02-28 * cygwin.din: Export __isinff, __isinfd, __isnanf, __isnand.Corinna Vinschen
* include/cygwin/version.h: Bump API minor number to 155.
2006-02-28 * dir.cc (readdir_worker): Use slash as path separator when evaluatingCorinna Vinschen
namehash for paths below /proc. * fhandler_netdrive.cc (fhandler_netdrive::readdir): Use expensive inode number evaluation on share names.
2006-02-28* fhandler_disk_file.cc (fhandler_disk_file::opendir): Only set d_cacheposChristopher Faylor
under NT or suffer memory corruption. (fhandler_disk_file::readdir_helper): Avoid else with a return. Just calculate extension location once when doing symlink checks. (fhandler_disk_file::readdir): Make debug output more useful. (fhandler_disk_file::readdir_9x): Ditto. Eliminate redundant variable.
2006-02-28* include/sys/termios.h (cfsetispeed): Just define as a function rather thanChristopher Faylor
resorting to a macro. (cfsetospeed): Ditto.
2006-02-28* sigproc.cc: Fix a comment.Christopher Faylor
2006-02-28* cygthread.cc (cygthread::release): Add a comment.Christopher Faylor
2006-02-27 * fhandler_netdrive.cc (fhandler_netdrive::fstat): Create unambiguousCorinna Vinschen
inode number. (fhandler_netdrive::readdir): Ditto.