| Wed Dec 31 15:00:32 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * hinfo.cc (hinfo_vec::find_unused_handle): correct |
| previous patch -- need to fix up vec[i].h pointers |
| |
| Wed Dec 31 14:13:22 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * regexp/Makefile.in (tooldir): New variable. |
| (install): Install regexp.h. |
| |
| Tue Dec 30 19:52:46 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * net.cc (inet_netof): New function. |
| (inet_makeaddr): New function. |
| * cygwin.din: Export inet_netof and inet_makeaddr. |
| |
| Tue Dec 23 17:45:07 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * path.cc (current_directory_name): New static variable. |
| (current_directory_posix_name): New static variable. |
| (getcwd_inner): Cache the directory name. |
| (chdir): Move here from syscalls.cc. Clear directory cache |
| variables. |
| * syscalls.cc (chdir): Remove; now in path.cc. |
| |
| * environ.cc (setenv): Add cast to avoid warning. |
| |
| * security.cc (get_file_attribute): Make file parameter a pointer |
| to const char. |
| (set_file_attribute): Likewise. |
| * winsup.c (get_file_attribute): Update declaration. |
| (set_file_attribute): Likewise. |
| |
| * path.cc (path_conv): Don't pass the root directory to |
| symlink_check_one. |
| |
| Mon Dec 22 16:34:40 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * path.cc (realpath): Use path_conv to resolve symlinks. |
| |
| * path.cc (path_conv::path_conv): Rewrite completely to convert to |
| win32 path first and then check for symlinks element by element. |
| (symlink_check_one): New static function based on old |
| symlink_check_worker, but without path conversion. |
| (path_prefix_p): Move definition before all uses. |
| (skip_n_slashes, symlink_expand, symlink_follow): Remove. |
| (symlink_check_worker, symlink_check): Remove. |
| (readlink): Rewrite to use new symlink_check_one. |
| (unmixedcaseify, mixedcaseify): Comment out. |
| * path.h (symlink_check, symlink_follow): Don't declare. |
| * fhandler.cc (open): Don't pass O_NOSYMLINK to path_conv. Set |
| errno from path_conv if it fails. |
| * dirsearch.cc (opendir): Check errors from path_conv, and set |
| errno appropriately. |
| * times.cc (utimes): Likewise. |
| * syscalls.cc (_unlink, _link, mkdir, rmdir, chdir): Likewise. |
| (chmod, _rename): Likewise. |
| (_stat_worker): Don't just pass nofollow to _open, but base |
| whether to pass O_NOSYMLINK on whether nofollow is set. |
| (lstat): Pass 1, not O_NOSYMLINK, to _stat_worker. |
| * strerror.cc (strerror): Add ELOOP. |
| |
| Thu Dec 18 12:30:47 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * fhandler.h (class fhandler_base): Remove inline definitions of |
| tcflush, tcsendbreak, tcdrain, tcflow, tcsetattr, tcgetattr, |
| tcsetpgrp, and tcgetpgrp, so that we can set proper errno values. |
| (class fhandler_tty): Add pgrp_ field, and virtual tcgetpgrp and |
| tcsetpgrp functions. |
| * fhandler.cc (fhandler_base::tcflush): New function. |
| (fhandler_base::tcsendbreak): New function. |
| (fhandler_base::tcdrain): New function. |
| (fhandler_base::tcflow): New function. |
| (fhandler_base::tcsetattr): New function. |
| (fhandler_base::tcgetattr): New function. |
| (fhandler_base::tcsetpgrp): New function. |
| (fhandler_base::tcgetpgrp): New function. |
| (fhandler_tty::fhandler_tty): Initialize pgrp_. |
| |
| * tty.cc (tcsetpgrp): Set errno correctly on failure. |
| |
| * include/sys/termios.h (CBAUD): Change to 037. |
| (B57600, B115200): Change to values that can fit in a speed_t. |
| |
| * spawn.cc (spawn_guts): Set errno correctly if we can't find the |
| executable. |
| |
| Mon Dec 15 16:40:07 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from msnyder@cygnus.com (Michael Snyder): |
| * heap.cc (_sbrk): handle situation where newalloc < incr |
| |
| Mon Dec 15 16:40:07 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| Allow Cygwin32 to terminate process even when in a blocking |
| winsock call. |
| * exceptions.cc (call_handler): call to WSACancelBlockingCall() |
| removed. |
| (sighandle): call WSACleanup() before exiting the process to |
| cancel blocking winsock calls. |
| * include/mywinsock.h: add proto for WSACleanup(). |
| |
| Mon Dec 15 16:40:07 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: compile .cc files with -fno-exceptions to |
| decrease dll size and increase execution speed a little. |
| |
| Mon Dec 15 16:40:07 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * tty.cc (do_input): Detect CTRL-T as a special case when |
| STRACE_CACHE is active. Dumps the strace cache to disk. |
| * console.cc (fhandler_console::read): Detect CTRL-T as a special |
| case when STRACE_CACHE is active. Dumps the strace cache to disk. |
| |
| Sat Dec 13 15:12:53 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * fork.cc: Include <malloc.h>. |
| (cygwin_fork_helper1): Call __malloc_copy after copying the stack |
| and heap to the child. |
| |
| Thu Dec 11 15:14:40 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * sigproc.cc (proc_subproc): Remove over-enthusiastic test for |
| process handling readiness or proc_wait will loop attempting to |
| handle a dying subprocess when signal handlers are not ready. |
| * fork.cc (cygwin_fork_helper1): Reorganize to ensure that a |
| forked process is capable of receiving signals when fork() |
| returns. |
| |
| Wed Dec 10 15:43:37 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/sys/termios.h (IXANY): Correct value. |
| (PARMRK): Define again. |
| |
| Wed Dec 10 00:05:23 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * dcrt0.cc (dll_crt0_1): Move start time initialization to a more |
| logical place (pinfo_init). |
| (do_exit): Reorganize to attempt to solve races when a cygwin |
| process occupies two windows pids (i.e., an execed process). |
| * exceptions.cc (lock_cs): Fix erroneous WFSO logic. |
| (sighandle): Use new method for determining if process was |
| initiated via fork. |
| (events_terminate): Do not close pinfo_mutex. Allow automatic |
| close by ExitProcess to lengthen the time that the pinfo structure |
| is locked, minimizing races between an exiting child and a |
| potentially exiting parent. |
| * hinfo.cc (hmap_init): Use new method for determining if process |
| was initiated via fork. |
| (hinfo_vec::de_linearize_fd_array): Fix a typo in a comment. |
| * pinfo.cc (clearout): Remove this function. Handled in |
| allocate_pid. |
| (pinfo_init): Move start_time setting here from dll_crt0_1. |
| Remove call to init_self in favor of adding three additional lines |
| of code. |
| (pinfo_list::operator []): Implement a very simple hashing |
| scheme for pid lookup. |
| (lpfu): New routine controlled by DEBUGGING conditional. When |
| DEBUGGING is activated, lpfu returns more information about the |
| state of a timed out pinfo_mutex. |
| (pinfo_list::get_empty_pinfo): Remove function. Move |
| functionality to allocate_pid. |
| (allocate_pid): Implement a (very) simple hashing scheme for |
| finding an available pid. Take advantage of reorganized pinfo |
| structure to zero all pertinent fields with one memset. |
| (pinfo::record_death_nolock): Don't bothering zeroing |
| inconsequential stuff. |
| (pinfo::record_death): Leave pinfo_mutex locked with the |
| understanding that this function will be called just prior to |
| exiting the process. This minimizes a race between a child which |
| is exiting at nearly the same time as its parent. |
| * sigproc.cc: Reformat function calls. |
| (sigproc_init): Clear new PID_INITIALIZING flag to indicate that |
| a (possibly execed) process is now capable of receiving signals. |
| (sig_send): Be more defensive in determining if a signal can be |
| sent to myself or suffer problems with execed processes. |
| (sigproc_terminate): Wait for sig_proc to exit to ensure that |
| all pending signals have been handled. Use new 'proc_terminate' |
| function to terminate the subprocess handling thread. |
| (allow_sig_dispatch): Don't bother blocking signals if signal |
| handling isn't active in this process yet. |
| (block_sig_dispatch): Don't bother blocking signals if signal |
| handling isn't active in this process yet. |
| (sig_proc): Use sig_loop_wait variable to control wait time for |
| signal semaphores. Uncouples this wait from wait_subproc. |
| Perform signal cleanup here on thread termination. |
| (proc_exists): More accurate tests to determine if a process |
| really exists. |
| (proc_register): Remove this function in favor of a macro. |
| (proc_subproc): More stringent test for being "ready" to process |
| subprocesses. Add more common initialization to PROC_ADDCHILD. |
| Remove PROC_EXIT in favor of a separate function. |
| (proc_terminate): New function. Replaces PROC_EXIT functionality |
| in proc_subproc. Terminates subproc handler thread. |
| (stopped_or_terminated): use lock_pinfo_for_update when modifying |
| child stopsig status or suffer a race. |
| (wait_subproc): Save sig_proc thread handle away for |
| synchronization when exiting. Set up 'i_am_alive' mutex inherited |
| by childen. Child's inability to lock this mutex means that the |
| parent is still alive and processing children. Use proc_loop_wait |
| to control WFMO. Clean up events queue on thread exit. |
| (zap_subproc): Clear out pinfo structure for a child. |
| * sigproc.h: Remove PROC_EXIT constant. Remove obsolete |
| proc_register declaration. |
| (alive_parent): New macro to determine if a parent is still alive. |
| * spawn.cc (spawn_guts): Fix a comment typo. Use proc_terminate |
| to terminate all subprocess handling prior to an exec. Use new |
| method for determining if this process was started via a fork. |
| Attempt to clean up races between execed process, its parent, and |
| the execed child. |
| * winsup.h (pinfo): Add a new handle indicating that a parent is |
| alive. This should be a foolproof way of determining if a parent |
| has gone away so that a child will know whether to remove itself |
| from the pinfo table. |
| Reorganize the structure in such a way that items to be zeroed |
| are grouped together at the beginning for more efficient zeroing |
| in allocate_pid. |
| Add a new PID_* constant. |
| New lock_pinfo_for_update macro for use when debugging cygwin. |
| |
| Wed Dec 10 00:05:23 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| Change the way to inherit fd table on spawn/exec calls. |
| Use STARTUPINFO structure to pass an fd table to a child process |
| instead of shared memory area. This is undocumented, but is used |
| by MSVC runtime. The desktop inheritance code added again, |
| otherwise user32.dll will fail to initialize after sexec calls. |
| * pinfo.cc (pinfo_init): delinearize fd array from STARTUPINFO |
| structure instead of call to copy_shared_fd_table. |
| * shared.cc (create_shared_fd_mapping_name): remove |
| (create/copy_shared_fd_table): remove |
| * spawn.cc (spawn_guts): use lp(cb)Reserved2 fields of STARTUPINFO |
| to pass fd table to a child. Remove call to |
| create_shared_fd_table. Inherit window station/desktop on sexec |
| calls. |
| * winsup.h: remove prototypes for create/copy_shared_fd_table. |
| |
| Fri Dec 5 18:57:42 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * kill.cc (main): Report error if kill() fails. Minor reformat. |
| * ps.cc (main): Only use month/day in start time when starting |
| time is > 24 hours in the past, not when it occurs yesterday. |
| |
| Fri Dec 5 15:54:41 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * fcntl.cc (_fcntl): reformat |
| * fhandler.cc (fhandler_tty::open): new, need special open for |
| ttys. In addition to calling fhandler_base::open, check |
| flags to handle blocking vs. non-blocking I/O. Should |
| initialize tty to standard state (9600 bits/sec - 8 - 1 with |
| no flow control) but this code needs more work still. Ifdef |
| out for now. |
| (fhandler_tty::tcsendbreak): new |
| (fhandler_tty::tcdrain): new |
| (fhandler_tty::tcflow): new |
| (fhandler_tty::tcsetattr): add support for action arg. Use |
| a DCB struct to hold the values we will set. First call |
| GetCommState to get the current state, then reassign values |
| based on the contents of the termios struct. Handle the |
| case where t->c_ospeed is set to B0, otherwise set state.BaudRate. |
| Set all the other DCB struct values appropriately, based on |
| the contents of the termios struct. |
| (fhandler_tty::tcgetattr): do the inverse of tcsetattr. |
| Call GetCommState to get the current state and use this to set |
| the appropriate termios struct values. |
| * termios.cc: reformat |
| (tcsendbreak): implement -- add duration arg, |
| call fhandler tcsendbreak as appropriate |
| (tcdrain): implement -- call fhandler tcdrain as appropriate |
| (tcflow): implement -- call fhandler tcflow as appropriate |
| * fhandler.h: add new tc* protos |
| * include/sys/termios.h: correct values of iflag bits, |
| define CRTSXOFF and CRTSCTS, CBAUD, B57600 and B115200. |
| Add protos for tc* functions. |
| |
| Wed Nov 26 17:06:17 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * spawn.cc (perhaps_suffix): resolve symlinks to .exes. |
| |
| Mon Nov 24 17:10:49 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: remove crypt |
| * syscalls.cc (crypt): remove crypt stub |
| |
| Sun Nov 23 17:34:42 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * spawn.cc (spawn_guts): save the path of the script itself, |
| use the saved path while building the command line to execute. |
| |
| Thu Nov 20 22:58:23 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * stubs.cc: delete file, move unimplemented stubs to the |
| files in which they would normally belong. |
| * grp.cc (setgrent): implement (was in stubs.cc) |
| * syscalls.cc: move regfree, mknod, setgid, set(e)uid, sync, |
| crypt, and PPC __chkstk/_alloca/dll_entry stubs here from stubs.cc |
| (sync): just return zero for now instead of -1 |
| (crypt): return -1 instead of 0 |
| |
| Thu Nov 20 22:41:57 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * spawn.cc (spawn_guts): A premature close of the spawned filehandle |
| was possible when reparenting an exited process. Fix this. |
| * dcrt0.cc (do_exit): Only do minimal cleanup if "pid focus" |
| has moved to another windows process or the other process will |
| become confused. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * sigproc.cc (getsem): set errno to EPERM if existing semaphore |
| cannot be opened. |
| (wait_subproc): allow access to signal semaphores to process's |
| owner only except for SIGCHLD (needed for SIGCHLD delivery after |
| sexecXX calls). |
| |
| Thu Nov 20 00:52:58 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * syscalls.cc (hash_path_name): Ignore trailing backslash when |
| calculating pathname hash. |
| * hinfo.cc (hinfo_vec::de_linearize_fd_array): Set use_tty |
| if /dev/ttyn is detected in the shared_fd_table. Before this |
| change, executing "set CYGWIN_TTY=1", "bash", "unset CYGWIN_TTY", |
| "/bin/pwd" would result in pwd printing nothing because |
| the de_linearize code would use the wrong fhandler_xxx when |
| reading from the buffer inherited from the parent process. |
| * cygwin.din: Add new ctermid function for export. |
| * syscalls.cc (ctermid): New function |
| * exceptions.cc (call_handler): If called during a P_OVERLAY |
| spawn, merely set appropriate flags and return. The spawn |
| code will then clean up and exit. |
| * sigproc.cc (proc_exists): Reorganize to better detect defunct |
| processes. Don't clean up pinfo if process has a parent since the |
| parent should clean up eventually. |
| * spawn.cc: New global exec_exit. Set by signal handler to |
| value which should be used on exit from aborted spawn. |
| (spawn_guts): Try harder to let the child terminate (if it is |
| going to) before exiting on a signal. Remove obsolete code. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * exec.cc (file_exists): Removed |
| * spawn.cc (spawn_guts): call perhaps_suffix to convert filename |
| to win32 form and to check file existance; prog variable |
| removed, all references changed to real_path variable. |
| Do not inherit parent's window station/desktop on sexecXX calls. |
| They are no longer needed with the new signal handling. |
| (_spawnve): extra file existance check removed |
| * winsup.h: file_exists prototype removed |
| |
| Wed Nov 19 16:23:47 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * cygwin.din: add missing exports for random -- initstate |
| and setstate (accessed by gawk among others?) |
| |
| Tue Nov 18 22:27:10 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: Add spaces after colons in rules for make |
| |
| Mon Nov 17 22:35:25 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from proven@cygnus.com (Chris Provenzano): |
| * Makefile.in: set SHELL = @SHELL@, set VPATH to only @srcdir@. |
| Remove mingw from directories to build for now, adapt rules |
| for building sysdef files without fancy VPATH |
| * configure: regenerate |
| * config/i386/makefrag: add rules to build setjmp/longjmp |
| * regexp/Makefile.in: set SHELL = @SHELL@ |
| * regexp/configure: regenerate |
| * utils/Makefile.in: set SHELL = @SHELL@ |
| * utils/configure: regenerate |
| |
| Mon Nov 17 18:36:50 1997 Geoffrey Noer <noer@rtl.cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * fhandler.cc (fhandler_disk_file::open): calls to symlink_XXX |
| replaced with path_conv class calls. |
| * path.cc (path_conv::path_conv): comments added, O_NOSYMLINK case |
| added. |
| * path.h (class path_conv): symlink_p, exec_p - new class members. |
| * spawn.cc (spawn_guts): call path_conv instead of symlink_follow. |
| |
| Sun Nov 16 15:54:27 1997 Geoffrey Noer <noer@rtl.cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * dcrt0.cc (do_exit): Use new pinfo element in debug statement. |
| * pinfo.cc (pinfo_init): Eliminate use of "PID" environment |
| variable in favor of scanning the process table for a |
| SpawnedProcessId field matching current windows process id. |
| Should speed up spawned process startup slightly. Delay setting |
| of dwProcessId until process is capable of processing signals |
| since this field is used to build signal semaphores. |
| * signal.cc (kill_worker): Perform a `proc_exists' on the pid |
| in question if signal == 0. This will verify that the process |
| actually exists and was not abnormally terminated. |
| * sigproc.cc (sigproc_init): Initialize dwProcessId field after |
| signal processing has been initialized. |
| (sigproc_terminate): Remove events[0] close. |
| (getsem): Use GetCurrentProcessId to find the windows pid since |
| this dwProcessId field is not yet set up. Use proc_exists to |
| determine if error should be printed on OpenSemaphore error. |
| (proc_exists): New function. Makes more exhaustive test of |
| process existence. Determines if process died without going |
| through normal shutdown. |
| (wait_subproc): Close wakeup event only on thread exit. |
| * spawn.cc: Remove pExeced. Use new field in pinfo. |
| (spawn_guts): Initialize dwSpawnedProcessId field. |
| * utils/ps.cc (main): Perform a kill(pid, 0) on any pids that |
| appear to be active. This will clear out pids that have died |
| abnormally. 'ps -f' bypasses this. |
| * winsup.h (class pinfo): Add dwSpawnedProcessId field. |
| |
| Sun Nov 16 15:54:27 1997 Geoffrey Noer <noer@rtl.cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * pinfo.cc ((pinfo_init): use dwProcessId for execed/spawned |
| check, set subproc_ready event only if the process is exec'ed. |
| * spawn.cc (spawn_guts): initialize hProcess and dwProcessId |
| fields of pinfo on exec, keep progname field on spawn. |
| |
| Sun Nov 16 15:54:27 1997 Geoffrey Noer <noer@rtl.cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * dcrt0.cc: remove commented out code |
| * spawn.cc: fix misapplied patch problem |
| |
| Sun Nov 16 15:54:27 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * fhandler.cc (fhandler_dev_null::open): Open Windows 'nul' |
| device rather than "faking" a real open. |
| (fhandler_dev_null::close): delete. |
| (fhandler_dev_null::fstat): delete. |
| (fhandler_dev_null::ioctl): delete. |
| (fhandler_dev_null::read): delete. |
| (fhandler_dev_null::write): delete. |
| (fhandler_dev_null::lseek): delete. |
| (fhandler_dev_null::dup): delete. |
| * fhandler.h (class fhandler_base): delete above methods from |
| class. |
| * hinfo.cc (hinfo_vec::build_fhandler): Use new fhandler_dev_null |
| class which opens 'nul' device. Treat /dev/null similarly to |
| other Windows devices. This allows redirection of /dev/null to |
| non-cygwin processes. |
| |
| Sun Nov 16 15:54:27 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * dcrt0.cc (do_exit): Use EXIT_* flags to determine how exit |
| should proceed. Honor new EXIT_NOCLOSEALL to avoid |
| close_all_files. |
| * exceptions.cc (__cygwin32_exception_handler): Use new |
| EXIT_SIGNAL define to indicate exiting due to signal. |
| * signal.cc (sigprocmask): Slightly more defensive check against |
| being called prior to complete cygwin setup. |
| (_raise): Defensive check to guard against being called prior to |
| complete cygwin setup. |
| * sigproc.cc (stopped_or_terminated): Use new EXIT_SIGNAL define |
| to detect exiting due to signal. |
| * sigproc.h: Define flags to be used during exit process as |
| EXIT_*. |
| * spawn.cc (spawn_guts): Use EXIT_* constants to control how |
| do_exit proceeds after _P_OVERLAY. |
| |
| Sun Nov 16 15:54:27 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * sysconf.cc (sysconf): return 1048576 for ARG_MAX until |
| we figure out the right value (_POSIX_ARG_MAX is only 4K |
| which is too small). |
| |
| Sun Nov 16 15:54:27 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * dcrt0.cc (dll_crt0_1): call winsock_init if neccesary. |
| * fhandler.cc ((fhandler_socket::fhandler_socket): moved to net.cc |
| * fhandler.h (class fhandler_socket): destructor prototype added. |
| * fork.cc (cygwin_fork_helper1): set PID_SOCKETS_USED in the |
| child's pinfo if parent has open socket descriptors; call |
| winsock_init in child code if necessary. |
| * net.cc: static variable winsock_init_p removed; |
| number_of_sockets is new global variable containing number of |
| opened sockets. |
| (winsock_init): made global, save "winsock inited" flag in process |
| state field. |
| (cygwin32_winsock calls): condition for winsock initialisation |
| changed |
| (fhandler_socket::fhandler_socket): new, moved from fhandler.cc; |
| increment number_of_sockets on constructor call. |
| (fhandler_socket::~fhandler_socket): new. Decrement |
| number_of_sockets on destructor call, check for negative value. |
| (fhandler_socket::ioctl): check for winsock initialisation added. |
| * spawn.cc (spawn_guts): handle PID_SOCKETS_USED in child's pinfo. |
| * winsup.h: PID_SOCKETS_USED - new enum value; number_of_sockets |
| and winsock_init() prototypes added. |
| |
| Wed Nov 12 23:02:34 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * exceptions.cc: Substitute do_exit for _exit as appropriate. |
| do_exit allows full 32 bits of exit value. The upper 16 bits |
| are used for special cygwin operations. |
| * winsup.h: Change definition of do_exit to allow calling from |
| signal handler. |
| * dcrt0.cc (do_exit): Change to allow calling from signal handler |
| in place of _exit. This is necessary to ensure that only cygwin |
| internal applications can exit with the upper order 16 bits set |
| to non-zero. |
| |
| Wed Nov 12 23:02:34 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * dcrt0.cc (do_exit): New function. Subsumes functionality of |
| _exit but takes a DWORD argument. Changed to avoid some shutdown |
| activities when called with REPARENTING bit set in argument. Also |
| explicitly kills any executing non-cygwin subprocess from a |
| spawn(P_OVERLAY)... |
| (_exit): Use do_exit for exiting. Ensure that only low order 1 |
| bits of status are used or confusion will result if exiting with |
| some higher order bits set. |
| * exceptions.cc (set_process_mask): Reflect new method for |
| sig_send to send signals to self. |
| (handle_sigsuspend): Reflect new method for sig_send to send |
| signals to self. |
| * fork.cc: A handle name was changed in the pinfo structure to |
| be more reflective of its use. Change forkee_stopped to |
| subproc_ready everywhere. |
| * pinfo.cc (pinfo::clearout): Change forkee_stopped to |
| subproc_ready. |
| (pinfo_init): Use PID_EXECED flag to determine if this process has |
| been execed. If so, signal the remaining stub in the process |
| which invoked us so that the stub can terminate and let us take |
| over as this pid. |
| * sigproc.cc (sig_send): Change method for determining if sending |
| signals to myself. A NULL pointer means communicate with my |
| signal handler. This is necessary to allow communication with |
| our own signal processors after reparenting an execed process. |
| Also, add an additional test to detect if a process goes away in |
| the middle of attempting to send it a signal. |
| (allow_sig_dispatch): Reflect new method for sig_send to send |
| signals to self. |
| (getsem): Use dwProcessId in names for signal semaphores. Allows |
| communicating with both parts of a process that is temporarily |
| "split in two" while execing. |
| (sig_proc): Avoid printing an error if WAIT_FAILED and exiting |
| anyway. Process requests even if loop_wait == 0. |
| (proc_subproc): Defensive check for manipulating processes prior |
| to initialization or after terminating sigproc. |
| Use different check for subprocesses that have been reparented. |
| Hopefully this will eliminate WFSO, error 6 problems. |
| (wait_subproc): Only exit when loop_wait == 0 and not dealing with |
| a process. |
| * spawn.cc: Set up two global variables, used on exit when |
| execing a non-cygwin process: hExeced - handle of non-cygwin |
| process which is being waited for by a stub, pExeced - windows pid |
| of the process. |
| (spawn_guts): Reorganize to always (temporarily) wait for the new |
| process when P_OVERLAY. If a cygwin process is invoked, then the |
| wait will return when an event is signalled and the new process |
| will be "reparented" in the ppid. If a non-cygwin process is |
| invoked, wait until the process exits or a signal is received |
| which terminates the process. In this case, the do_exit function |
| will terminate the non-cygwin process. |
| * winsup.h: Rename forkee_stopped to subproc_ready since this |
| event now has a dual role which is better defined by this new |
| name. Add a new flag (PID_EXECED) for process_state. Define a |
| new function `do_exit' which operates similarly to _exit |
| but takes > 16 quantities with the high order bit signifying |
| different exit actions. |
| |
| Mon Nov 10 17:11:08 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/utime.h: remove (moved to newlib/libc/sys/cygwin32/sys) |
| so as not to conflict with the one in newlib/libc/include. |
| |
| Mon Nov 10 15:11:42 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * exceptions.cc (__cygwin32_exception_handler): exit with |
| "core dumped" exit code after writing "core" file. |
| |
| Mon Nov 10 15:11:42 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * console.cc: Add convenience macros and structures for handling |
| scrolling. |
| (fhandler_console::fillin_info): New function to fill in the `info' |
| struct. |
| (fhandler_console::scroll_screen): Change to scroll only the visible |
| portion of the screen. Honor scroll regions more stringently. |
| (fhandler_console::open): Use new fillin_info function. |
| (fhandler_console::ioctl): Use new fillin_info function which |
| automatically calculates screen size. |
| (fhandler_console::clear_screen): Use new fillin_info function. |
| Only clear visible portion of screen. |
| (fhandler_console::cursor_set): Add a flag to indicate whether |
| cursor positioning is absolute within buffer or is screen relative. |
| Use new fillin_info function to get screen information. |
| (fhandler_console::cursor_rel): Use new fillin_info function. |
| Change for new cursor_set parameter. |
| (fhandler_console::cursor_get): Use new fillin_info function. |
| (fhandler_console::char_command): Use new fillin_info function |
| where appropriate. Change for new cursor set parameter where |
| appropriate. Scroll only visible portion of screen when required. |
| * fhandler.h (class fhandler_console): Add fillin_info, change |
| cursor_set to reflect additional argument. |
| |
| Mon Nov 10 15:11:42 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * dcrt0.cc (dll_crt0_1): Register process start time. |
| * fork.cc (cygwin_fork_helper1): Register process start time. |
| * utils/ps.cc (main): Report process start time. |
| (start_time): New function to format time similarly to UNIX ps. |
| A time from today shows as HH:MM, times from previous days just |
| show the month and day. |
| * winsup.h (class pinfo): Add start_time field. |
| |
| Mon Nov 10 11:54:27 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/Windows32/Defines.h (TIME_ZONE_ID_INVALID): Define. |
| * times.cc (gettimeofday): The error return from |
| GetTimeZoneInformation is TIME_ZONE_ID_INVALID, not |
| TIME_ZONE_ID_UNKNOWN. |
| |
| Sun Nov 9 17:08:30 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * Makefile.in: add ../libiberty/strsignal.o |
| * cygwin.din: add exports for strsignal, strtosigno |
| * utils/kill.cc: changes to allow accepting signal name |
| as argument |
| |
| Sun Nov 9 17:08:30 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/limits.h: define PATH_MAX here instead of |
| include/sys/param.h, define _POSIX_NGROUPS_MAX as 0 not 1 |
| (system invariant value, not implementation-specific) |
| * include/sys/param.h: remove PATH_MAX, change NOFILE from 64 |
| to 8192, delete PATHSIZE, remove safety wrapper around |
| MAXHOSTNAMELEN, add comments |
| * sysconf.cc (sysconf): return NGROUPS_MAX not zero, |
| return _POSIX_SAVED_IDS not zero. Return _POSIX_CHILD_MAX |
| not 4096. Return _POSIX_CHILD_MAX, not 8. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * winsup.h: add proto for setdtablesize, define NOFILE_INIT |
| and NOFILE_INCR |
| * hinfo.cc (hmap_init, hinfo_vec::find_unused_handle): change to |
| support virtually unlimited numbers of fds. Remove setdtablesize |
| proto |
| * syscalls.cc: initialize dtable_size to NOFILE_INIT instead of |
| NOFILE |
| |
| Thu Nov 6 13:14:09 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * exceptions.cc (__cygwin32_exception_handler): don't |
| print "In cygwin32_except_handler" for exceptions Cygwin32 |
| isn't going to handle. Print "(progname PID) Exception: <type>" |
| to console. Redirect all detailed information including the |
| stack trace to <progname>.core. This should reduce confusion |
| about what's causing the exception (a lot of people would see "In |
| cygwin32..." and think the problem was in Cygwin32 when most of |
| the time it was in some other program). |
| * syscalls.cc: add fixme |
| * times.cc: add fixme |
| |
| Wed Nov 5 19:23:10 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * Makefile.in: force .c.os and .cc.os to be built in same |
| directories as source |
| |
| Wed Nov 5 19:23:10 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * drct0.cc (dll_crt0_1): stop initializing winsock on process |
| startup since that slows down startup time of all processes, even |
| ones that don't end up making Winsock calls. |
| * fork.cc (cygwin_fork_helper1): don't need to call uinfo_init |
| or socket_checkinit after fork -- the appropriate functions will |
| do the necessary initialization if they are ever called. |
| * net.cc: init winsock_init_p to zero and make it static |
| (all exported functions): call winsock_init before making |
| any WinSock calls since this no longer happens in dcrt0.cc |
| startup code. Only do this if !winsock_init_p. |
| (winsock_init): checkinit renamed. Now just inits winsock |
| without checking whether it has been already initialized. |
| Make it static. |
| * uinfo.cc (uinfo_init): after we call getpwnam, we know |
| the passwd file has been read in so don't check initialization |
| of it. However, we do need to read_etc_group() if group_in_memory |
| isn't set. |
| * passwd.cc: rename global i variable to pw_pos, rename |
| passwd_in_memory to passwd_in_memory_p to match net.cc scheme. |
| Add comments. |
| (read_etc_passwd): make static |
| (various): make sure to read_etc_passwd() if passwd_in_memory |
| isn't set |
| * grp.cc: add comments, rename idx global to grp_pos, |
| rename group_in_memory to group_in_memory_p to match net.cc |
| scheme, group_in_memory_p no longer static (needs to be accessed |
| by uinfo_init) |
| * winsup.h: remove proto for socket_checkinit since that's |
| renamed and static within net.cc |
| |
| Tue Nov 4 01:02:20 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * signal.cc (sigprocmask): Newer versions of gcc will call |
| sigprocmask when a builtin constructor is activated. If this |
| happens prior to the setup of u->self, then a NULL dereference |
| will occur. Guard against this. |
| |
| Mon Nov 3 17:00:45 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * hinfo.cc (hinfo_vec::build_fhandler): Open a console for |
| /dev/tty when !use_tty. |
| |
| Thu Oct 30 10:28:15 1997 Tom Tromey <tromey@cygnus.com> |
| |
| * include/mapi.h: New file. |
| * sysdef/i386/mapi32.def (MAPISendMail@20): New export. |
| |
| Thu Oct 30 15:08:13 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * times.cc: add comments listing standards funcs are defined in |
| (dump_filetime): remove unused local func |
| * net.cc (fail): remove local func, replace one reference with |
| equivalent debug_printf, add standards comments, reformat a little |
| (fhandler_socket::close): simplify handling of res |
| (fhandler_socket::fstat): set ENOSYS (unimplemented) |
| * stubs.cc: set ENOSYS in unimplemented funcs |
| * uname.cc: add standards comment |
| * ntea.cc: reformat |
| |
| Wed Oct 29 22:43:57 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * times.cc (settimeofday): set ENOSYS instead of EPERM |
| since ENOSYS maps to "Function not implemented" which is the |
| case here. |
| * syscalls.cc (seterrno): on failure, set EACCES instead of EPERM |
| which is better for the unknown error case |
| |
| Fri Oct 24 01:24:07 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from green@cygnus.com (Anthony Green): |
| * dcrt0.cc: new host_dependent_constants object with a global |
| instance of it which allows constants that are different in Win 95 |
| and NT to be saved here instead of having forks in the code and |
| having to check the OS type each time. Add two constants for |
| fhandler, one for sharing attributes and one for upper word value |
| for locking files. |
| (dll_crt0_1): call host_dependent init function |
| * fhandler.cc (fhandler_base::open): use above object for |
| setting shared attributes |
| (fhandler_disk_file::lock): get upper word for locking from |
| host_dependent_constants |
| * winsup.h: define host_dependent_constants class and add extern |
| for global instance of it |
| |
| Wed Oct 22 02:27:53 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * cygwin.din: Export getenv, putenv, setenv and unsetenv instead |
| of cygwin32_ wrappers |
| * dcrt0.cc: External variable environ removed |
| (dll_crt0_1): strip executable's path on console title if |
| environment variable CYGWIN_TITLE set to "strip", references to |
| environ removed. |
| * environ.cc: New file. Code derived from newlib sources. |
| * exec.cc: include stdlib.h |
| (execl, execv): new (derived from newlib sources). |
| (sexecve): reference to environ removed. |
| (sexecvpe): call getenv instead of cygwin32_getenv. |
| * grp.cc: new static variable group_in_memory |
| (read_etc_group): skip blank lines |
| (getgrgid, getgrnam, getgrent): call read_etc_group when necessary. |
| * misc.cc (cygwin32_getenv/putenv/setenv/unsetenv): remove |
| wrappers. |
| * passwd.cc: new static variable passwd_in_memory |
| (read_etc_passwd): skip blank lines |
| (search_for, getpwent): call read_etc_passwd when necessary. |
| (setpwent): fixed incorrect initialization of i var. |
| * pinfo.cc (pinfo_init): initialize uid with illegal value to |
| force read of /etc/passwd and /etc/group. |
| * spawn.cc: call getenv instead cygwin32_getenv |
| (spawn_guts): force read of /etc/passwd and /etc/group on sexec |
| calls. |
| * uinfo.cc (uinfo_init): read /etc/passwd and /etc/group only if |
| uid is undefined. |
| * winsup.h: remove protos for environ, cygwin32_getenv, |
| cygwin32_putenv |
| |
| Wed Oct 22 02:08:54 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/aclocal.m4: new file. Define autoconf macros for |
| determining whether we're compiling for the cygwin32 environment |
| or not and determine the executable suffix |
| * utils/configure.in: call AM_CYGWIN32 and AM_EXEEXT |
| * utils/configure: regenerate |
| * utils/Makefile.in: add $(exeext) after executable names so |
| programs will be built with the .exe suffix |
| |
| Wed Oct 22 00:50:27 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| Now that it is possible to use gdb using a stable |
| cygwin.dll to debug a program using a newer, potentially buggy |
| cygwin.dll, the strace mechanism will probably end up being |
| used more and more for debugging timing/race-condition bugs that |
| aren't easily exposed in a gdb session. The following changes |
| make the strace facility better for debugging timing issues by |
| storing the last few commands in a buffer instead of writing |
| to disk each function call. |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * dcrt0.cc (dll_crt0_1): Change to strace_init call to take |
| an argument (for planned future registry changes). |
| (_exit): Call strace_dump when appropriate. Add a debugging |
| printf. |
| * include/sys/strace.h: Add _STRACE_CACHE, _STRACE_EXITDUMP, |
| strace_dump (). |
| * strace.c (strace_init): Allow hexadecimal, octal setting of |
| strace flags in environment variable. Handle new cache option. |
| (strace_printf): Display number of seconds from last message. |
| Handle _STRACE_CACHE. |
| (strace_dump): New function. Dump cached messages to disk. |
| |
| Wed Oct 22 00:08:40 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: export socket calls without cygwin32_ prefix |
| * net.cc: remove unused herror function in favor of |
| cygwin32_herror which is exported as herror |
| * include/netdb.h: we are now exporting the socket calls without |
| the cygwin32_ prefix so we don't need the nasty remapping in |
| header files |
| * include/arpa/inet.h: ditto |
| * include/sys/socket.h: ditto |
| * select.cc (select): make extern C |
| |
| Tue Oct 21 22:52:29 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * sigproc.cc (sigproc_terminate): Fix flawed attempt to signal |
| any processes waiting for signal notification success when the |
| process receiving the signal is terminating. |
| (wait_subproc): Report on errors when opening the |
| sync_proc_subproc mutex. Move initialization of events[0] |
| "wakeup" signal prior to wait_subproc_inited or risk a (miniscule) |
| chance for a reference to a NULL handle. |
| * strace.cc (ta[]): Change WM_ASYNCIO entry to reflect previous |
| changes to WM_ASYNCIO constant. |
| |
| Tue Oct 21 14:30:14 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * sigproc.cc (proc_subproc): fix minor error output problem |
| |
| Mon Oct 20 20:19:02 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: change DLL_NAME to cygwin97r2.dll |
| |
| Mon Oct 20 20:16:47 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * window.cc (alarm): When there is a previous alarm() request |
| with less than one second remaining, then the return from a call |
| to alarm() is supposed to return 1. |
| |
| Mon Oct 20 20:16:47 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * Makefile.in: Add sigproc.o target. Add sigproc.h dependency |
| where appropriate. Add -s to intermediate ld of cygwin.dll to |
| speed up the process of building the .dll. |
| * dcrt0.cc: Add new sigproc.h include. |
| (dll_crt0_1): Replace window_init with sigproc_init for |
| initialization of signal/sub process handling. Change to use new |
| process_state field in pinfo. |
| (_exit): Remove spurious debugging statement. Terminate sigproc |
| processing. Remove signal blocking obviated by previous signal |
| termination. Remove SIGCHLD notification of parent as it is now |
| handled automatically in the parent. |
| (api_fatal): Terminate sigproc processing. |
| * exceptions.cc: Add new sigproc.h include. Change name of |
| ourhThread. |
| (ctrl_c_handler): Change to static as this is no longer called |
| outside of this module. |
| (lock_cs): Change to a function which will optionally grab new |
| signal dispatch mutex. Don't wait forever for cs mutex. |
| (unlock_cs): Change to a function which will optionally release |
| new signal dispatch mutex. |
| (init_exceptions): Detect errors from SetConsoleCtrlHandler. |
| Initialize new sig_dispatch mutex. This mutex is used to |
| control dispatching to a function on signal receipt. |
| (sig_dispatch_pending): New function. Called from signal |
| processing thread to dispatch pending signals. |
| (set_process_mask): Block signal dispatch during setting of new |
| mask, if possible. Contact signal thread to dispatch pending |
| signals. |
| (handle_sigsuspend): New function. Attempts to implement a |
| sigsuspend which will not lose signal notification. Called from |
| sigsuspend. |
| (call_handler): Use sigproc_printf where appropriate. |
| (ctrl_c_handler): Use _raise to invoke the correct signal. |
| (sighandle): New function. Subsumes most of ctrl_c_handler. |
| Change to mark as suspended signals which would dispatch for which |
| the sig_dispatch mutex is unavailable. Use sigproc_printf where |
| appropriate. |
| (events_init): Remove application_stopped mutex made obsolete by |
| new sigproc handling. |
| (events_terminate): Remove application_stopped mutex made |
| obsolete by new sigproc handling. |
| * fork.cc: Add new sigproc.h include. |
| (cygwin_fork_helper1): Use process_state field in pinfo (replaces |
| inuse_p). Call proc_register to add a new subproc to sigproc |
| handling. Call sigproc_init for new subprocess. Remove obsolete |
| window_init. |
| * heap.cc (_sbrk): Use process_state field in pinfo (replaces |
| split_heap_p). |
| * hinfo.cc (hmap_init): Use process_state field in pinfo (replaces |
| cygwin_parent_p). |
| * include/sys/strace.h: Add tracing for signal/subprocesses. |
| * init.cc: Add new sigproc.h include. Add waitq_storage global |
| for new sigproc handling. |
| (dll_entry): Add initialization, destruction of structures needed |
| by new sigproc handling. |
| * net.cc (fhandler_socket::ioctl): Use gethwnd() function to find |
| hwnd of hidden window. |
| * pinfo.cc: Add new sigproc.h include. |
| (pinfo::clearout): Use process_state field in pinfo (replaces |
| split_heap_p). Explicitly initialize various handles to NULL. |
| (pinfo_init): Use process_state field in pinfo (replaces |
| cygwin_parent_p). |
| (pinfo_list::operator): Use process_state field in pinfo (replaces |
| inuse_p). |
| (pinfo_list::alocate_pid): Initialize process_state field. |
| (pinfo::init_self): Remove obsolete initialization of hProcess. |
| (pinfo::record_death_nolock): Changes for new sigproc handling. |
| (pinfo::record_death): Move bulk of this code to sigproc.cc. |
| (pinfo::terminate): Remove function made obsolete by sigproc |
| handling. |
| (pinfo::init_from_exec): Use process_state field (replaces |
| inuse_p). |
| * signal.cc: Add new sigproc.h include. |
| (kill_worker): Call new sig_send function to send signals to |
| cygwin processes. |
| (_kill): Use process_state field in pinfo (replaces inuse_p). |
| (sigsuspend): Call handle_sigsuspend in exceptions.cc to handle |
| sigsuspend in a non-raceable way. |
| * sigproc.cc: New signal/subprocess handling module. Replaces |
| SendMessage method for signals with a method using semaphores. |
| Also detects changes in the state of child processes. |
| * sigproc.h: New header file defining constants and functions for |
| signal/subprocess handling. |
| * spawn.cc: Add new sigproc.h include. Clean up trailing spaces. |
| (spawn_guts): Reorganize to use new sigproc handling. |
| Use new pinfo process_state field (replaces inuse_p). |
| * syscalls.cc (_read): Use new pinfo process_state field (replaces |
| inuse_p). |
| (_write): ditto. |
| * tty.cc (tty_init): Use new pinfo process_state field (replaces |
| cygwin_parent_p). |
| * utils/ps.cc (main): Use new pinfo process_state field (replaces |
| inuse_p). Detect "zombie" processes similarly to UNIX ps. |
| * wait.cc: Add required includes. |
| (wait_found): Function obsoleted by new sigproc handling. |
| (wait4): Reorganize to use new sigproc handling. |
| * window.cc: Changes for new sigproc handling. |
| (WndProc): Remove SIGNAL handling obsoleted by new sigproc |
| handling. Use static window handle since the field has been |
| removed from pinfo. Use _raise where appropriate to send signals. |
| (Winmain): Replace global window handle with static since the |
| field has been removed from pinfo. |
| (window_init): Remove obsolete function. |
| (gethwnd): New function to allocate hidden window on demand rather |
| than at startup. |
| (window_terminate): Kill hidden window only if allocated. |
| (setitimer): Use gethwnd function to retrieve hidden window |
| handle. |
| * winsup.h: Remove stuff made obsolete by sigproc handling. Move |
| some constants to new sigproc.h header file. Remove inuse_p, |
| cygin_parent_p, split_heap_p. Replace with a single process_state |
| field. Define bit fields for process_state in an enum for easier |
| debugging. |
| |
| Mon Oct 20 19:17:33 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * sysdef/i386/winserve.def: remove ancient version of cygwin.din |
| * include/sgtty.h: remove since Cygwin32's tty handling doesn't |
| support bsd syntax/semantics |
| * include/sys/termios.h: change winsize struct to include |
| ws_xpixel and ws_ypixel members |
| * cygwin.din: remove export of ScreenCols, ScreenGetCursor, |
| ScreenRows, ScreenSetCursor, get_pid__5pinfo, getkey, _getkey, |
| kbhit, _kbhit, __small_printf = small_printf__FPCce |
| * key.cc: remove. Similar functionality exists in ncurses |
| which can be compiled for Cygwin32 |
| * console.cc (ScreenCols, ScreenGetCursor, ScreenSetCursor, |
| ScreenRows): delete and delete SCREEN_ROWS/COLS defines |
| * pold.c: remove old pipe-related code that's no longer used |
| * include/regex.h: remove, it's not a part of cygwin.dll |
| * syscalls.cc: started to add comments including standards |
| information |
| (truncate): new |
| (ftruncate): length is an off_t, not a size_t. Add missing |
| return value to debug printf |
| * syscalls.h: ftruncate length is an off_t, add proto for truncate |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * console.cc (fhandler_console::write): Recognize '@' as a valid |
| character to follow a '\e[' sequence or get 'Bad escape' errors. |
| |
| Wed Oct 15 18:44:25 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: restore __main as an export |
| |
| Mon Oct 13 18:41:09 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: revert renaming of __assert since that's |
| actually what it's supposed to be called |
| * assert.cc: ditto |
| |
| Fri Oct 10 19:25:49 1997 Tom Tromey <tromey@cygnus.com> |
| |
| * include/Windows32/Base.h: Moved typedefs of CHAR, SHORT, etc, |
| before all other uses in file. |
| |
| Fri Oct 10 17:50:12 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/Windows32/Base.h: Only typedef CHAR, SHORT, and LONG if |
| VOID is not defined |
| |
| Thu Oct 9 00:46:40 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: remove all libgcc.a exports. They don't |
| belong here since libgcc.a doesn't really relate to the |
| purpose of cygwin.dll, and (to make things worse) the contents |
| change over time. |
| * assert.cc: rename __assert to __cygwin32_assert |
| * exceptions.cc: rename __stack_trace to __cygwin32_stack_trace, |
| __cygwin_except_handler to __cygwin32_except_handler |
| * version.h: increment major and minor numbers |
| |
| Tue Oct 7 12:52:25 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * dcrt0.cc (_exit): under Win 95, don't send SIGCHLD |
| unless special env variable is set. This works around a |
| problem where exiting a process can hang under Win 95. |
| |
| Mon Oct 6 23:41:34 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * regexp: new directory containing free regexp code by |
| Henry Spencer. Taken from the most recent release of NetBSD. |
| Write configure.in and Makefile.in, based on files from |
| winsup/utils. |
| * Makefile.in: build regexp directory and include objs in |
| cygwin.dll. |
| * stubs.cc: remove all reg* stubs except for regfree which |
| isn't provided by above code. |
| |
| Mon Oct 6 13:35:48 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * dcrt0.cc: remove asm idata3 terminator, now that ld is fixed |
| such that this is no longer necessary. |
| * libccrt0.cc: ditto |
| |
| Mon Oct 6 13:14:00 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * spawn.cc (spawn_guts): return child's PID on |
| spawn (_P_NOWAIT,...) instead of child's handle. |
| (cwait): rewritten as a wrapper to waitpid. |
| |
| Mon Oct 6 13:02:01 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * net.cc (socketpair): new |
| * cygwin.din: add socketpair export |
| |
| Mon Oct 6 13:01:51 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * dcrt0.cc: Remove obsolete call to fork_terminate. |
| * exceptions.cc: Respace, remove extraneous trailing whitespace. |
| Change critical section to mutex since there are supposedly |
| multi-processor problems with critical sections under NT. |
| Use "lock_cs" and "unlock_cs" macros to lock/unlock critical |
| regions. |
| (init_exceptions): Change critical section initialization to mutex |
| initialization. |
| (set_process_mask): Use locking macros to control access to |
| sig_mask. |
| (ctrl_c_handler): Use lock_cs/unlock_cs to control access. |
| (events_init): Use standard cygname function to create names for |
| shareable objects. |
| (events_init): Close cs mutex. |
| * fork.cc: Use event flags which are specific to the child being |
| forked. This prevents one process from prematurely activating |
| another. It also makes fork slightly more thread-safe. |
| (fork_init): Remove event initialization. |
| (fork_terminate): Remove function. |
| (cygwin_fork_helper1): Initialize events on a per-fork basis. |
| Events are inherited in child's pinfo structure. |
| Remove child->hThread initialization as it not needed. Use |
| pi.hThread where child->hThread is used. |
| Work around Windows 95 bug where a WaitForSingleObjects will |
| sometimes return ERROR_INVALID_HANDLE when it is resumed after |
| a suspend. |
| * pinfo.cc: Remove references to hThread field whereever it occurs. |
| * strace.cc: Use standard cygname function to create name for |
| strace_mutex. Prevents confusion between different .dll versions. |
| * wait.cc (wait_found): Remove reference to hThread. |
| * winsup.h (class pinfo): Remove reference to hThread. Add |
| per-process fork control event handles. |
| * include/limits.h: Increase NGROUPS_MAX from 0 to 1 to reflect |
| recent change to getgroups. |
| |
| Mon Oct 6 11:06:22 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| Oops. ../libio refers to objdir and is not the same |
| as $(srcdir)/../libio. |
| |
| Thu Oct 2 23:12:19 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| Revert patches to sources applied after Sept 16. Removed |
| relevant portions of ChangeLog entries. Some of those changes |
| may reappear later (removing the entries makes this log easier |
| to understand). |
| |
| Thu Oct 2 15:34:03 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: remove hardcoding of SHELL to /bin/sh, remove |
| ../libio from INCLUDES since $(srcdir)/../libio is already |
| included. |
| * glob/Makefile.in: remove hardcoding of SHELL to /bin/sh |
| |
| Mon Sep 29 14:06:24 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * cygwin.din: add exports for rcmd, rresvport, rexec |
| * net.cc (cygwin32_rcmd): new |
| (cygwin32_rresvport): new |
| (cygwin32_rexec): new |
| * include/mywinsock.h: add protos for Winsock calls associated |
| with functions called by the above. |
| |
| Mon Sep 29 13:26:24 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * grp.cc (getgrent): Change overlooked comment to reflect new |
| behavior. |
| |
| Thu Sep 25 18:35:49 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: remove debugdll defs since the shared memory |
| overlap problem is solved by the timestamp addition of Sept 23 |
| * version.h: rework explanations of version numbers |
| |
| Thu Sep 25 16:21:49 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * spawn.cc: add missing cast to debug printf |
| |
| Thu Sep 25 16:14:17 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * path.cc (conv_to_win32_path): Call backslashify on a win32 |
| path. |
| |
| Tue Sep 23 17:58:17 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| Fixes for things that were causing compile-time warnings: |
| * exec.cc (_execve): add missing const to args to match def |
| of execve in newlib which this calls. |
| (sexecve): add missing const to def |
| (sexeclpe): don't need to cast argv in sexecvpe call |
| (sexecvpe): add missing const to def |
| * winsup.h: correct _execve proto, add protos for login/logout |
| * syscalls.h: correct sexecve, sexecvpe protos |
| * include/Windows32/Base.h: NULL should be defined differently |
| for C++ |
| * init.cc: respacing |
| |
| Tue Sep 23 17:05:50 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * dcrt0.cc (dll_crt0_1): don't use alloca for allocating storage |
| for environment blocks because setenv() uses realloc! |
| |
| Tue Sep 23 17:05:50 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * Makefile.in (LD_STUFF): Add datestamp.o after DLL_OFILES. |
| (datestamp.o): New target. datestamp.c is generated whenever .o |
| files change. It creates a file containing a "date stamp" |
| which is used by the function "cygname" to create named |
| shared memory, events, mutexes, and semaphores used by |
| cygwin.dll. The unique datestamp allows multiple loading of |
| different cygwin.dll's even when they have incompatible use |
| of shared memory areas. |
| * init.cc (dll_entry): Create the name string used by cygname |
| from the name of the invoking .dll + the datestamp of the |
| .dll from the auto-generated datestamp.c |
| * misc.cc (cygname): New function. Creates a standard Cygnus |
| shared resource name given a prefix, a name (e.g., pinfo_mutex), |
| and a numeric suffix (e.g., a pid). Replaces custom code in |
| several files. Uses cygwin_dlldate from datestamp.c to construct |
| names that are unique for a given cygwin load. |
| * shared.cc (open_shared_file_map): Use standard cygname function |
| to create names for sharable objects. Use static handle 'h' |
| so that it can be closed later by shared_terminate. |
| (shared_terminate): Guard against calling CloseHandle with a |
| NULL handle. |
| (create_shared_fd_mapping_name): Use cygname function to generate |
| the name for the "fd_map". |
| |
| Tue Sep 16 23:34:36 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * fcntl.cc (_fcntl): correct errno value (EBADF instead of |
| EBADFD). |
| |
| Tue Sep 16 17:22:28 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * include/Windows32/Defines.h: add missing defines needed |
| for NTEA usage. |
| * ntea.cc: remove them from here |
| * syscalls.cc (_link): call CreateFile with FILE_WRITE_ATTRIBUTES |
| flag instead of GENERIC_WRITE |
| |
| Tue Sep 16 17:22:28 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * pinfo.cc (pinfo_init): Fix a NULL pointer dereference when PID |
| environment variable contains garbage. |
| |
| Thu Sep 11 16:51:40 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.cc (ftruncate): read file pointer location at |
| beginning of function and restore it at the end |
| |
| Thu Sep 11 15:35:10 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * path.cc (backslashify): Don't turn a single trailing slash into |
| a double trailing slash. |
| |
| Wed Sep 10 11:40:55 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/Windows32/Structures.h: Add PACKED to PRINTDLG. |
| * include/Windows32/Functions.h: Add STDCALL to a few function |
| declarations. |
| |
| Tue Sep 9 02:12:18 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * syscalls.cc (_link): Implement hard links under NT with NTFS |
| using the backup API. Default to copying the file (what we did |
| before). |
| |
| Mon Sep 8 20:19:09 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| Merge in the following changes: |
| |
| Thu Aug 21 13:30:12 1997 Ian Lance Taylor <ian@cygnus.com> |
| * assert.cc: New file. |
| * Makefile.in (DLL_OFILES): Add assert.o. |
| (assert.o): New target. |
| * pinfo.cc (cygwin32_winpid_to_pid): New C function. |
| * cygwin.din: Add cygwin32_winpid_to_pid. |
| * include/sys/cygwin.h: Include <sys/types.h>. |
| (cygwin32_winpid_to_pid): Declare. |
| * pinfo.cc (pinfo_init): Add debug_printf showing pid and pgid. |
| |
| Wed Aug 20 13:24:30 1997 Ian Lance Taylor <ian@cygnus.com> |
| * spawn.cc (env_sort): New static function. |
| (spawn_guts): Sort the environment before passing it to |
| CreateProcess. |
| * exceptions.cc (exit_already): New file static variable. |
| (__cygwin_exception_handler): If exit_already is set, just |
| return. If we get an exception we don't recognize, let the next |
| exception handler handle it. Just ignore the INVALID_HANDLE |
| exception. |
| (really_exit): Remove file static exit_already variable; use the |
| global one. |
| (events_terminate): Set exit_already. |
| * include/Windows32/Defines.h (EXCEPTION_INVALID_HANDLE): Define. |
| (STATUS_INVALID_HANDLE): Define. |
| * include/Windows32/Functions.h: Declare some shell functions. |
| |
| Mon Sep 8 17:40:46 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * dcrt0.cc (_exit): Kill the foreground process group on session |
| leader exit only if job control is in progress. |
| * exceptions.cc (ctrl_c_handler): protect the code with critical |
| section. This helps stability under Win 95. |
| * include/sys/strace.h: add new wm_printf macro |
| * signal.cc (kill_worker): window message number changed (window |
| messages WM_USER-WM_USER+0x100 reserved for common controls on |
| windows95). Debug print added. |
| * spawn.cc (spawn_guts): removed unneeded flag DETACHED_PROCESS. |
| * strace.cc: defines for SIGNAL and ASYNCIO messages added. |
| * tty.cc (create_tty_master): initialize speed fields of termios |
| structure. |
| (fhandler_pty_master::open): likewise. |
| * window.cc (WndProc): debug print added, window message number |
| changed. |
| * winsup.h: WM_ASYNCIO number changed. |
| |
| Mon Sep 8 16:40:46 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * fhandler.h: set_w_binary/set_r_binary now defined to |
| return void |
| * grp.cc (getgroups): always return an array of length 1 where |
| the element is the user's gid. |
| * pinfo.cc (pinfo_init): verify that we haven't exceeded the |
| maximum number of processes |
| (pinfo_list::allocate_pid): ditto |
| * include/Windows32/Functions.h: add noreturn attrib to ExitProcess |
| * include/sys/strace.h: change strace defs so strace-related |
| printfs will automatically add __FUNCTION__: to the beginning, |
| rename __sys_printf to strace_printf. |
| * *.cc: remove function names from debug printfs in favor of the |
| new scheme where they are automatically added, change __sys_printf |
| references (now strace_printf). |
| * smallprint.c (__small_vsprintf): new function displayer code |
| to support the above changes |
| |
| Wed Sep 3 12:44:45 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: split subdir_do into subdir_dobefore and |
| subdir_doafter to reflect whether the subdir in question |
| should be built before or after the top level is built |
| (e.g. glob needs to be built before libcygwin.a but libcygwin.a |
| needs to be built before utils). |
| |
| Thu Aug 28 12:09:39 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * configure.in: when setting up EXE_LDFLAGS, correct the |
| location of crt0.o to ../../newlib since EXE_LDFLAGS is used |
| by Cygwin32 subdirectories where newlib is two directories up |
| instead of one. |
| * configure: regenerate with autoconf |
| |
| Thu Aug 28 00:13:11 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| Replace all licensing-related headers in all Cygnus-owned |
| files. Instead of listing terms at the top of each file, now |
| we simply refer to: |
| * CYGWIN32_LICENSE: new file listing Cygwin32 licensing terms |
| |
| Wed Aug 27 17:40:16 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: export random, srandom |
| |
| Wed Aug 20 16:56:39 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: remove unused winsock-related build rules |
| that were commented out, minor comment changes, remove |
| test.exe build rule. |
| |
| Wed Aug 20 14:45:17 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: link cygwin.dll with -lm -lgcc -lc -lgcc instead |
| of -lc -lm -lm -lgcc so lgcc finds abort(). Add definitions that |
| will eventually be used to build a cygwindebug.dll used by gdb |
| so gdb can debug a buggy cygwin.dll. Change some variable names |
| to have underscores in them (DLL_NAME, LIB_NAME, DEF_FILE, etc.). |
| Comment out text.exe build rule. |
| |
| Tue Aug 19 20:41:51 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * dcrt0.cc: respace, modify some comments slightly |
| |
| Tue Aug 19 16:17:57 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: include ../libiberty/random.o, stop including |
| librx since it is LGPL'd code. |
| * stubs.cc: add stubs for regcomp, regexec, regerror, regfree |
| * dcrt0.cc (dll_crt0_1): default to not support tty/pty devs, |
| default to not displaying the running process in the title bar. |
| |
| Fri Aug 15 18:23:43 1997 Rob Savoye <rob@cygnus.com> |
| |
| Add mingw directory for the minimalist cygwin environment. |
| See mingw/ChangeLog for changes specific to that directory |
| |
| * configure.in: Add mingw to AC_CONFIG_SUBDIR. |
| * configure: Regenerated from autoconf 2.12 with Cygnus patches. |
| * Makefile.in: Use subdir_do which uses the value of $SUBDIRS |
| rather than having seperate target for each directory. |
| * glob/Makefile.in: Add a phony target for install. |
| * configure.in: Add mingw to AC_CONFIG_SUBDIR. |
| |
| Fri Aug 15 01:12:19 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * times.cc: add missing extern "C"s around exported functions |
| |
| Thu Aug 14 17:00:32 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * console.cc (fhandler_console::input_tcsetattr): clear iflag_ and |
| lflag_ when tty support enabled. |
| (FakeReadFile): do not interrupt read when tty support enabled. |
| Do not reset signal_arrived event. |
| * cygwin.din: add exports - cf(g)set(i)ospeed, login, logout, ttyslot |
| * dcrt0.cc (_exit): kill orphaned childs with SIGHUP and SIGCONT |
| on group leader exit, kill foreground process group on session |
| leader exit. |
| * dirsearch.cc (closedir): check for FindFirst() was called |
| * exceptions.cc: include mywinsock.h. |
| (call_handler): call WSACancelBlockingCall to try to interrupt |
| blocking winsock call, do PulseEvent() instead of SetEvent(). |
| (ctrl_c_handler): clear pending SIGCONT on stop signals, clear all |
| pending stop signals on SIGCONT, suspend the thread before resuming |
| to avoid W95 bug, process pending signals on SIGCONT, add signals to |
| pending if the process is stopped. |
| * fcntl.cc (fcntl): some code rearrangement to always do debug printfs |
| on call exit. |
| * hinfo.cc: include stdio.h |
| (hinfo_vec::build_fhandler): always add ttynum to tty's filename |
| (hinfo_vec::dup2): fix return value initialization and errno setting. |
| * include/netdb.h: typedef for sig_t removed |
| * include/sys/termios.h: octal constants changed to hexadecimals |
| to simplify debugging. |
| * misc.cc: include unistd.h and utmp.h |
| (login): new |
| (logout): new |
| * pinfo.cc (lock_pinfo_for_update): debug printf added |
| (pinfo::record_death): mark processes as orphaned on group leader |
| exit. |
| * select.cc (cygwin32_select): ResetEvent() removed |
| * signal.cc: unneeded ResetEvents removed |
| (_kill): ignore stop signals from a member of orphaned process group, |
| kill self process the last on group kill. |
| (sigaction): reset pending SIGCHLD when the disposition is set to |
| default. |
| * spawn.cc (spawn_guts): ResetEvent removed |
| (cwait): do not interrupt the call |
| * strerror.cc: include stdio.h, reenable disabled cases, remove |
| duplicated cases, return decimal error value in the default case. |
| * syscalls.cc (setsid): set process group id to process id when setsid |
| called. |
| (setpgid): check for negative pgid |
| * syslog.cc (syslog): %m macro support added |
| * termios.cc (cfg(s)eti(o)speed): new fuctions needed to support |
| NIST PCTS requirements. |
| * tty.cc: include utmp.h. |
| (ttyslot): new |
| (tty_list::terminate): fill in utmp on tty master exit |
| (tty_list::allocate_tty): check for tty master pocess alive |
| (create_tty_master): fill in utmp |
| (do_input): restart tty output on interrupt |
| (fhandler_tty_slave::fhndler_tty_slave): ttynum logic moved to |
| build_fhandler. |
| (fhandler_tty_slave::open): set tty's session id to sid of the calling |
| process. |
| (fhandler_tty_slave::write): check for TOSTOP bit |
| (fhandler_tty_slave::fstat): allow access to tty to everyone |
| (fhandler_tty_slave::ioctl): check for TOSTOP bit |
| * tty.h: ttyslot prototype added |
| * wait.cc (wait4): check for valid value of option argument added |
| * winsup.h: define PID_ORPHANED, move tty_list array to the end |
| of shared area. |
| |
| Thu Aug 14 11:42:59 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * path.cc (slash_unc_prefix_p): Correct check of path[3]. Permit |
| numbers after the host name. |
| |
| * include/Windows32/Defines.h: Correct value for SM_CMETRICS, |
| SM_CXDRAG, SM_CYDRAG, SM_CXEDGE, SM_CYEDGE, SM_CXFIXEDFRAME, |
| SM_CYFIXEDFRAME, and add SM_MOUSEWHEELPRESENT. |
| |
| Wed Aug 13 20:11:52 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * fork.cc (cygwin_fork_helper1): If we don't have a console, pass |
| DETACHED_PROCESS to CreateProcess. |
| * spawn.cc (spawn_guts): Likewise. |
| |
| Tue Aug 12 19:51:32 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/Windows32/Structures.h (IMAGE_DOS_HEADER): Remove |
| dos_message and nt_signature fields; they aren't present in the |
| Windows header file. |
| |
| Wed Aug 6 16:27:13 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/Windows32/Structures.h: Define LPMEASUREITEMSTRUCT as a |
| pointer to MEASUREITEMSTRUCT. |
| |
| * syscalls.cc (_stat_worker): In directory case, only set |
| STD_WBITS in st_mode if FILE_ATTRIBUTE_READONLY is clear. |
| (access): Remove special case for directory. |
| |
| * include/Windows32/Defines.h (HKEY_DYN_DATA): Define. |
| (REG_FULL_RESOURCE_DESCRIPTOR): Define. |
| (REG_RESOURCE_REQUIREMENTS_LIST): Define. |
| |
| Mon Aug 4 21:15:05 1997 Andrew Cagney <cagney@b1.cygnus.com> |
| |
| * glob/Makefile.in: Add include of newlib/libc/sys/cygwin32 to |
| explicit .c.o rule so that dirent.h is found. |
| |
| Thu Jul 24 02:14:24 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * cygwin.din: fpathconf, initgroups - new exports |
| * console.cc: new static variable CONSOLE_SCREEN_BUFFER_INFO info |
| (fhandler_console::scroll_screen): local variable info removed |
| (fhandler_console::open): likewise |
| (fhandler_console::ioctl): likewise |
| (fhandler_console::clear_screen): likewise |
| (fhandler_console::cursor_set): likewise |
| (fhandler_console::cursor_rel): likewise |
| (fhandler_console::cursor_get): likewise |
| (fhandler_console::write_normal): fixed scroll region bug, termcap |
| "cs" entry works now |
| * dcrt0.cc (dll_crt0_1): set file API to use OEM charset, convert |
| command line from ANSI to OEM charset. |
| (_exit): clear stopsig value on process exit |
| * exceptions.cc (call_handler): add one millisecond delay before |
| SetEvent() |
| (ctrl_c_handler): clear pending stop signals on SIGCONT, do not send |
| SIGCHLD to parent on process resuming; some debug printfs added; do |
| not call _exit() in a context of signal handling thread (would cause |
| more harm than good); fixed a bug with SA_NOCLDSTOP flag. |
| * fhandler.cc (fhandler_base::open): use full win32 path name to |
| generate inode number namehash instead of unix filename. |
| * fork.cc (cygwin_fork_helper1): block all signals while child and |
| parent are in fork() code |
| * grp.cc (initgroups): new stub added |
| * include/limits.h: new posix defines added |
| * include/sys/termios.h: typedef speed_t as unsigned char |
| * path.cc (mount_info::conv_to_posix_path) bugfix |
| * pinfo.cc (pinfo_list::operator []): PID_NOT_IN_USE check added |
| (pinfo::record_death): set child's ppid to 1 on parent exit |
| * signal.cc (sleep): correct return value if sleep call was |
| interrupted |
| (_kill): correct return value if killed pid was not found. |
| (sigaction): correct return value on handling non-handlable |
| signals, clear pending ignored signals |
| (sigsuspend): sigsuspend call should always return -1 and set errno |
| to EINTR. |
| * spawn.cc: respace |
| * syscalls.cc: map ERROR_NO_DATA to EPIPE instead of ENODATA |
| (isatty): fixed return value |
| (fpathconf): new |
| (pathconf): rewritten |
| (ttyname): fixed return value |
| * sysconf.cc (sysconf): misc fixes |
| * termios.cc (tcsendbreak): corrected errno set |
| (tcdrain): likewise |
| (tcflush): likewise |
| (tcflow): likewise |
| (tcsetattr): likewise |
| (tcgetattr): likewise |
| (tcgetpgrp): likewise |
| (tcsetpgrp): likewise |
| * tty.cc (fhandler_tty_slave::ioctl): TCGETA/TCSETA support added |
| * wait.cc (_wait): wait() syscall should do not terminate if |
| a child is stopped. |
| (wait4): wait calls should wait childs only; fixed a bug with |
| nprocinfo count; fixed signal handling. |
| |
| Thu Jul 24 02:10:25 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * uname.cc: uname now outputs Cygwin32_NT or Cygwin32_95 |
| instead of Cygwin32/NT or Cygwin32/95. |
| |
| Thu Jul 24 02:10:25 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * cygwin.din: sexecve, sexecl, sexecle, sexeclp, sexeclpe, |
| sexecv, sexecp, sexecvpe - new exports |
| * exceptions.cc (ctrl_c_handler): do not raise SIGHUP on |
| CTRL_LOGOFF_EVENT to prevent termination of cygwin application |
| run as NT service on user logoff, raise SIGHUP instead of SIGQUIT |
| on system shutdown, clear stopped status in inuse_p on SIGCONT, |
| set stopped status on stop signals, call _exit() on process |
| termination in a context of signal thread to terminate while |
| in a blocking win32 syscall. |
| * exec.cc: include unistd.h and ctype.h. |
| (_execve): code moved to sexecve, call sexecve with a NULL hToken |
| handle. |
| (sexecve): new, check path, argv[0] and envp to null values, |
| pass nToken handle to spawn_guts(). |
| (sexecl): new (code derived from spawn family of functions in |
| spawn.cc) |
| (sexecle): new |
| (sexeclp): new |
| (sexeclpe): new |
| (sexecv): new |
| (sexecp): new |
| (strccopy): new |
| (sexecvpe): new |
| * fhandler.cc (fhandler_base::fstat): add STD_RBITS and STD_WBITS |
| to st_mode of non-file handles. |
| (fhandler_dev_floppy::open): clear O_TRUNC bit. |
| (fhandler_dev_tape::open): likewise |
| * fhandler.h (fhandler_pty_master): new member pktmode (flag to |
| indicate pty's packet mode) |
| * fork.cc (cygwin_fork_helper1): call uinfo_init () in a child code |
| to read /etc/passwd, /etc/group into memory. |
| * hinfo.cc (hinfo_vec::build_fhandler): check socket names for right |
| inheritance on exec(). |
| * include/Windows32/Defines.h: fixed a typo in LPSTR_TEXTCALLBACKA |
| definition |
| * include/Windows32/Functions.h: added prototype for |
| ImpersonateLoggedOnUser() API call. |
| * net.cc (cygwin32_socket): duplicate socket handle as inheritable |
| to avoid Windows95 socket inheritance bug, close the original socket. |
| (cygwin32_accept): likewise. |
| * path.cc (mount_info::conv_to_win32_path): do not add trailing |
| backslash to UNC device names like "\\.\a:", "\\.\tape0:" etc. |
| * pinfo.cc (pinfo::record_death_nolock) set PID_WAITING_FOR_PARENT |
| bit to inuse_p instead of assignment - inuse_p is a bit set now. |
| (pinfo::record_death): check PID_WAITING_FOR_PARENT bit instead of |
| comparison. |
| * select.cc (fd_pipe_map::convert_to_unix_fdset): deal with pipe |
| errors. |
| (pipethread): likewise |
| * shared.cc (create_shared_fd_table): allow any process to access |
| shared arg, needed for sexec() family implementation |
| * signal.cc (kill_worker): fixed a typo in debug printf |
| * spawn.cc (spawn_guts): new hToken argument (security token of |
| logged on user for sexec() calls implementation), added checks for |
| zero prog_arg and argv[0], if hToken is not NULL run |
| CreateProcessAsUser() on the current window station/desktop, or |
| just CreateProcess() otherwise, close hToken after the process is |
| created. |
| (_spawnve): pass NULL hToken to spawn_guts(). |
| * syscalls.cc (_read): set process's read status while in a read call |
| (_write): set process's write status while in a write call |
| (stat_worker): if GetFileAttributes() fails, try to call fstat to |
| support raw devices |
| * syscalls.h: include windows.h, added sexec() family functions |
| prototypes. |
| * sysdef/i386/kernel32.def: ImpersonateLoggedOnUser - new export |
| * tty.cc: tty attachment logic changed - tty_list::count field |
| counts now number of tty opens, but not a number of processes, |
| attached to a tty. |
| (tty_init): do not call attach_tty() in a exec'ed process |
| (attach_tty): correct return value if !use_tty. |
| (tty::init): initialize pgid and hwnd fields. |
| (tty_list::terminate): clearout tty on master exit. |
| (tty_list::allocate_tty): fixed a bug in a tty allocation. |
| (fhandler_tty_master::init): on NT allow any process to open |
| tty-master process for handle duplication, create synchronisation |
| events with a world-wide access, initialize winsize structure with |
| a default values. |
| (fhandler_tty_slave::open): if a tty doesn't have process group set, |
| set it to a process group of current process. |
| (fhandler_tty_slave::write): added missed \n to debug print, tty |
| write synchronization moved to a more correct place. |
| (fhandler_tty_slave::read): Sleep time changed for conformance with |
| other sleeps. |
| (fhandler_tty_slave::tcsetattr): synchronization added |
| (fhandler_tty_slave::ioctl): initialize arg.winsize with a tty-stored |
| value, copy the result of ioctl call to winsize. |
| (fhandler_pty_master::fstat): small fix |
| (fhandler_pty_master::open): on NT allow any process to open |
| pty-master process for handle duplication, initialize winsize |
| structure with a default values. |
| (fhandler_pty_master::read): check for pipe errors, changes to support |
| packet mode |
| (fhandler_pty_master::ioctl): rewritten, no longer a stub. |
| (fhandler_pty_master::linearize/de_linearize): save/restore pktmode |
| value. |
| * tty.h (class tty): winsize - new member |
| * utils/ps.cc: show process status just after tty number field |
| * winsup.h: defines for new bits in inuse_p added, spawn_guts() |
| prototype changed. |
| |
| Thu Jul 24 02:10:25 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * Makefile.in: Add tty.o to link and dependency lists, add |
| tty.h to headers list |
| * console.cc (fhandler_console::open): save open call flags |
| (fhandler_console::input_tcsetattr): clear all console modes if |
| tty support enabled |
| (FakeReadFile): restart read on signal delivering, changed CTRL |
| macro to CONTROL to avoid conflict with sys/termios.h, copy as |
| much as possible chars to output buffer instead of call to |
| undo_input after every char to prevent timeouts problem. |
| * cygwin.din: srandom, ptsname, grantpt, unlockpt - new exports. |
| * dcrt0.cc: include tty.h, new use_tty global variable. |
| (dll_crt0_1): call events_init() on application startup, set |
| use_tty to FALSE if CYGWIN_NOTTY environment variable is defined, |
| do not change console title if CYGWIN_NOTITLE environment |
| variable set, call tty_init(). |
| (_exit): call tty_terminate(), events_terminate() and others |
| in the right order. All modifications of console title are |
| mutexed to allow tty code to obtain console window handle right. |
| * exceptions.cc (exception_init): initialization of signal_arrived |
| event moved to events_init(). |
| (call_handler): raise signal arrived event after resuming main |
| thread. |
| (__cygwin_exception_handler): raise signal instead of calling |
| ctrl_c_handler, because exception handler is called in a context |
| of the thread, caused exception, and SuspendThread in call_handler |
| blocks itself :-) |
| (ctrl_c_handler): clear stopsig on SIGCONT delivery, call |
| ResumeThread until suspend count > 1, notify parent about child's |
| status changed. Care about handling SIGCONT signal. On stop |
| signals release vital mutexes used by stopped thread, save |
| signal number for wait(WUNTRACED) calls, notify parent about child's |
| status change. Do not stop processes running without job control |
| (when pgid == 0). Ensure that main thread is unblocked before |
| call _exit(). |
| (events_init): new |
| (events_terminate): new |
| * fcntl.cc (_fcntl): use saved open flags on F_GETFL/F_SETFL instead |
| of game with access_ variable. Is this variable longer needed? |
| * fhandler.cc (fhandler_base::linearize/de_linearize): save/restore |
| openflags_ variable. |
| (fhandler_base::open): save file open flags. |
| * fhandler.h (fhandler_base): new openflags_ member, new member |
| functions get_flags/set_flags, new virtual functions ptsname, |
| dup_for_fork, tcget(set)pgrp |
| (fhandler_pipe): remove always_write/except_ready because pipes |
| are always write ready (not true...) and selectable on read. |
| new classes fhandler_tty_slave, fhandler_pty_master, |
| fhandler_tty_master |
| * fork.cc (cygwin_fork_helper1): inherit control tty number on fork, |
| call tty_init on child startup. |
| * hinfo.cc: include stdlib.h and ctype.h. |
| (hmap_init): take care on exec'ed processes. |
| (init_std_file_from_handle): open /dev/tty for standard handles if |
| tty usage enabled. |
| (build_fhandler): check for tty slave and pty master devices. |
| * include/exceptions.h: exception handler returns "int" (exception |
| handling code), not "void". |
| * include/termios.h: new defines, struct winsize must contain |
| ws_xpixel and ws_ypixel members (commented now to avoid |
| incompabilities with existing binaries. Should be uncommented in |
| next release. |
| * net.cc (gethostbyaddr): corrected return value |
| * passwd.cc (parse): remove trailing newline from password |
| lines (user's shell was reported with trailing newline before). |
| * pinfo.cc (lock_pinfo_for_update): open mutex code moved to |
| events_init() in exceptions.cc. |
| (destroy_pinfo_lock): removed, pinfo_mutex is now closed in |
| events_terminate() in exceptions.cc. |
| (init_self): the initial value for pgid must be 0 (no job-controlled |
| process). |
| * select.cc: all debug_printf's changed to select_printf. |
| (fd_pipe_map): new class to implement (polling...) select on pipes. |
| (pipethread): new |
| (cygwin32_select): comment out socket only case since generic |
| code (select on different types of handles) works for sockets too |
| but is interruptable. The case for always_ready_used is used now |
| and for polling select (zero timevalue). Changes to support |
| select on pipes. |
| * shared.cc (shared_info::initialize): initialize tty table. |
| * signal.cc (sleep/usleep/sigsuspend/pause): signal_arrived moved |
| from u area to dll's address space, signal_arrived is manual reset |
| event now. |
| (_raise): implemented as kill (self, sig). |
| (kill_worker): new. Use SendMessage instead of PostMessage to avoid |
| some timing problems. |
| * spawn.cc: include tty.h. |
| (spawn_guts) call close_all_files() on exec, call tty_terminate() |
| before process exit. Some changes due to moving signal_arrived to |
| dll's address space. |
| (_spawnve): inherit control tty number on spawn. |
| * syscalls.cc (close_all_files): reenabled. The code is ok after |
| all! The troubles were due to incorrect usage on exec() calls. |
| (setsid): no longer a stub |
| (ptsname): new |
| * termios.cc: all syscall_printf's changed to termios_printf. |
| (tcget(set)pgrp): rewritten, no longer a stub. |
| * times.cc (utimes): It looks like Win32 does not allow changing |
| times of directories, so just return success in this case. |
| * tty.cc: new file |
| (tty_init): new |
| (tty_terminate): new |
| (attach_tty): new |
| (detach_tty): new |
| (tty::init): new |
| (tty_list::terminate): new |
| (tty_list::connect_tty): new |
| (tty_list::free_tty): new |
| (tty_list::init): new |
| (tty_list::allocate_tty): new |
| (fhandler_tty_master::fhandler_tty_master): new |
| (create_tty_master): new |
| (fhandler_tty_master::init): new |
| (doecho): new |
| (do_input): new |
| (process_input): new |
| (do_output): new |
| (process_output): new |
| (process_ioctl): new |
| (fhandler_tty_slave::fhandler_tty_slave): new |
| (fhandler_tty_slave::open): new |
| (fhandler_tty_slave::init): new |
| (fhandler_tty_slave::close): new |
| (fhandler_tty_slave::write): new |
| (fhandler_tty_slave::read): new |
| (fhandler_tty_slave::linearize): new |
| (fhandler_tty_slave::de_linearize): new |
| (fhandler_tty_slave::dup): new |
| (fhandler_tty_slave::dup_for_fork): new |
| (fhandler_tty_slave::fstat): new |
| (fhandler_tty_slave::tcgetattr): new |
| (fhandler_tty_slave::tcsetattr): new |
| (fhandler_tty_slave::tcflush): new |
| (fhandler_tty_slave::tcsetpgrp): new |
| (fhandler_tty_slave::tcgetpgrp): new |
| (fhandler_tty_slave::send_ioctl_request): new |
| (fhandler_tty_slave::ioctl): new |
| (fhandler_pty_master::fhandler_pty_master): new |
| (fhandler_pty_master::fstat): new |
| (fhandler_pty_master::open): new |
| (fhandler_pty_master::close): new |
| (fhandler_pty_master::write): new |
| (fhandler_pty_master::read): new |
| (fhandler_pty_master::tcgetattr): new |
| (fhandler_pty_master::tcsetattr): new |
| (fhandler_pty_master::tcflush): new |
| (fhandler_pty_master::ioctl): new |
| (fhandler_pty_master::ptsname): new |
| (fhandler_pty_master::linearize): new |
| (fhandler_pty_master::de_linearize): new |
| (fhandler_pty_master::dup_for_fork): new |
| (grantpt): new |
| (unlockpt): new |
| * tty.h: new |
| * utils/ps.cc: display process's control tty number. |
| * wait.cc (wait_for_single): removed. |
| (wait_for_any): all code moved to wait4(). |
| (wait4): rescan process table on child status changes, support for |
| WUNTRACED flag, avoid time races on child exit, correct return |
| value on timeout. |
| * window.cc: misc changes to wait creation of process's hidden |
| window to avoid race conditions on multiprocessor systems. |
| * winsup.h: misc changes to support all of the above. |
| |
| Thu Jul 24 02:10:25 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * net.cc (cygwin32_shutdown): New implementation to replace |
| stub previously present |
| |
| Tue Jul 22 14:59:22 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: remove random, srandom |
| * Makefile.in: remove random/srandom-related lines |
| |
| Tue Jul 22 14:10:32 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * path.cc (realpath): New C function. |
| * cygwin.din: Export realpath. |
| |
| * cygwin.din: Export srandom. |
| |
| Wed Jul 9 12:26:03 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: libiberty random.o ends up in winsup, link |
| in that obj for now |
| |
| Tue Jul 8 14:02:41 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * libcmain.cc (main): Pass wShowWindow field from startup info to |
| WinMain. |
| |
| Mon Jul 7 17:47:48 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * path.cc: respace, reword comments |
| * times.cc (utimes): add FIXME |
| |
| Tue Jun 24 18:31:27 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * winsup.h: adjust protos to reflect the above, add enum os_type |
| which contains {winNT, win95, win32s, unknown} |
| * security.cc (is_nt): Delete |
| * syscalls.cc (windows_95): Delete |
| (get_os_type): New local function which returns os_type. Replaces |
| windows_95() and is_nt(). |
| |
| * fhandler.cc: Reformat. Call get_os_type() instead of |
| windows_95() and/or is_nt(), reorder so NT cases are first. |
| * mmap.cc: ditto |
| * net.cc: ditto |
| * syscalls.cc: ditto |
| * syslog.cc: ditto |
| |
| * uname.cc (uname): call get_os_type to fill new our_os local |
| variable, check that when filling out utsname struct, default |
| to i386 when we can't find out the specific Intel processor |
| variant. |
| * fhandler.cc (get_file_owner): remove doit variable |
| (get_file_group): ditto |
| * mmap.cc: extern "C" individual functions instead of wrapper |
| around most of file. |
| * misc.cc: minor reformat |
| * heap.cc (_sbrk): split a = b = c statement into two to |
| make code clearer and avoid invalid C++ casting warning during |
| compile. |
| * path.cc (symlink_follow): initialize syml_p and exec_p to zero |
| * select.cc: respace |
| (selectthread): cast first arg of WINSOCK_FD_SET |
| * ntea.cc (NTReadEARaw): add missing casts in front of malloc calls |
| * utils/mount.cc: remove mixed option since that hasn't been |
| supported for quite some time |
| |
| Sun Jun 22 17:27:03 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/windows.h: If RC_INVOKED is defined, don't include |
| limits.h, stdarg.h, Structures.h, Functions.h or Sockets.h, and |
| don't typedef BOOL. |
| * include/Windows32/Base.h: Don't do any typedefs if RC_INVOKED is |
| defined. |
| |
| * include/Windows32/Sockets.h (MAXHOSTNAMELEN): Don't define if |
| already defined. |
| * include/sys/param.h (MAXHOSTNAMELEN): Likewise. |
| |
| Fri Jun 20 11:06:09 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * include/sys/wait.h: correct operator precidence bug |
| in WIFSIGNALED |
| |
| Thu Jun 19 12:58:45 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| Handle unblocked pending signals on sig_mask changes |
| * exceptions.cc (return_handler): renamed to set_process_mask |
| (set_process_mask): new; use to set process mask instead of direct |
| u->self->sig_mask manipulations. |
| * winsup.h: rename return_handler proto to set_process_mask |
| * signal.cc: throughout file, call set_process_mask() instead of |
| direct manipulations of u->self->sig_mask. |
| (pause): new |
| * cygwin.din: add pause() export |
| * syscalls.cc (system): correct return value |
| |
| Wed Jun 18 22:01:56 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: add $(srcdir)/../newlib/libc/sys/cygwin32 to |
| the list of includes since that's where sys/dirent.h is |
| supposed to live |
| * include/sys/dirent.h: moved to newlib/libc/sys/cygwin32/sys |
| |
| Wed Jun 18 13:56:47 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * signal.cc (sigsuspend): deal with pending unblocked signals |
| * winsup.h: add proto for return_handler (sigset_t) |
| |
| Wed Jun 18 02:02:13 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| respaced console.cc, fhandler.cc, syscalls.cc, pinfo.cc, |
| fork.cc, spawn.cc |
| |
| Tue Jun 17 14:57:09 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * cygwin.din: add getpgid, killpg exports, delete duplicate |
| random export |
| * fork.cc (cygwin_fork_helper1): inherit pgid and sid on fork |
| * misc.cc (cygwin32_*env): save environ value in __cygwin_environ |
| too. Is __cygwin_environ variable really neccessary? Why not |
| export cygwin.dll's environ variable with "__cygwin_environ" name? |
| * pinfo.cc (pinfo::init_self): initialize pgid and sid |
| * signal.cc (kill_worker): new |
| (_kill): rewritten to support process groups |
| (killpg): new |
| * spawn.cc (_spawnwe): inherit pgid and sid on spawn family calls |
| * stubs.cc (setpgrp, getpgrp): remove stubs |
| * syscalls.cc (setpgid, getpgid, setpgrp, getpgrp): new |
| * termios.cc (setpgid): remove stub |
| * utils/ps.cc (main): add pgid to output, change output |
| format |
| * wait.cc (wait_for_any): add intpid argument, arrays ctable and |
| ptable have now fixed MAXIMUM_WAIT_OBJECTS size to avoid extra |
| scan of process table, changes for process groups support. |
| (wait4): misc changes to support process groups |
| * winsup.h (pinfo class): add new variables pgid, sid. |
| Define __cygwin_environ. |
| |
| Mon Jun 16 18:30:21 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * spawn.cc (spawn_guts): set child->hProcess and child->hThread, |
| CloseHandle on pi.hThread at end of spawn_guts instead of right |
| after starting the child process, |
| _P_WAIT needs to be handled separately from _P_OVERLAY |
| |
| Sun Jun 15 23:51:10 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * cygwin.din: remove setenv/getenv-related exports, |
| export cygwin32_ equivalents |
| * exec.cc: check ? |
| * misc.cc (cygwin32_getenv): new |
| (cygwin32_putenv): new |
| cygwin32_setenv): new |
| (cygwin32_unsetenv): new |
| * spawn.cc: call cygwin32_getenv instead of getenv, |
| call spawn with *u->envptr instead of environ |
| * winsup.h: define **environ as extern, define *cygwin32_getenv |
| |
| Sun Jun 15 20:51:09 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * Makefile.in: add ../libiberty/random.o to EXTRA_OFILES |
| * cygwin.din: remove exports of tgetent and _tgetent, added random |
| * exception.cc (exceptions_init): make OurThread handle |
| noniherittable, remove unused buf array. |
| (return_handler): add restmask argument (sig_mask value before |
| calling signal handler) |
| (call_handler): save sig_mask in user's stack before calling signal |
| handler, change PulseEvent() call to SetEvent() -- there were |
| losses of signal_arrived events if main thread was not in wait |
| state. |
| (ctrl_c_handler): add support for SIGIO signal. |
| * fhandler.cc (fhandler_base::linearize/delinearize): |
| save/restore async_ flag |
| (fhandler_base::fhandler_base): clear async_ flag |
| * fhandler.h: add async_ as new variable in fhandler_base, |
| add get_async/set_async functions |
| * misc.cc (tgetent): remove stub |
| * net.cc (fhandler_socket::write): raise SIGPIPE if write to |
| disconnected socket. |
| (cygwin32_accept): check the result of find_unused_handle() before |
| accept() call, set errno if no more file descriptors available. |
| (fhandler_socket::ioctl): add support for async I/O on sockets |
| * pinfo.cc (pinfo::clearout): clear sig_pending mask |
| * syscalls.cc (readv, writev): rewrite |
| * window.cc (WndProc): add support for async I/O |
| * winsup.h: define WM_ASYNCIO |
| |
| Mon Jun 9 18:51:09 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/winsock.h: fix protection wrapper name |
| |
| Fri Jun 6 12:41:09 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/Windows32/Defines.h: Define CommonDlgExtendedError |
| return values (CDERR_*, PDERR_*, CFERR_*, FNERR_*). Define |
| TEXTMETRIC tmPitchAndFamily values (TMPF_*). |
| |
| * include/dlgs.h: New file; just includes windows.h. |
| * include/cderr.h: Likewise. |
| |
| * libcmain.cc (main): Don't pass the program name to WinMain. |
| |
| * cygwin.din: Export strlwr and strupr. |
| |
| * include/winreg.h: New file; just includes windows.h. |
| * include/winsock.h: New file; just includes windows.h and |
| Windows32/Sockets.h. |
| * include/Windows32/Sockets.h: Don't define u_char, et. al. if |
| _SYS_TYPES_H is defined. Undefine fd_set if it is defined. |
| |
| * include/Windows32/Functions.h: Define MoveMemory, FillMemory, |
| and ZeroMemory as macros. |
| |
| * times.cc (_timezone, _daylight, _tzname): New global variables. |
| (tzset): New function. |
| * cygwin.din: Don't set _timezone to timezone. Export tzset and |
| _tzset. Export _timezone, _daylight, and _tzname. |
| |
| * dcrt0.cc (__cygwin_environ): New global variable. |
| (dll_crt0_1): Set __cygwin_environ to environ. |
| * cygwin.din: Export __cygwin_environ. |
| |
| Thu Jun 5 17:52:02 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * times.cc (gettimeofday): Check return values and set tz_dsttime |
| correctly. |
| |
| Wed Jun 4 00:04:33 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler.cc (fhandler_pipe::lseek): new virtual function |
| * fhandler.h: add lseek to fhandler_pipe class |
| |
| Tue Jun 3 19:20:47 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * include/Windows32/Defines.h (IMAGE_DOS_SIGNATURE): Define. |
| (IMAGE_NT_SIGNATURE): Define. |
| * include/Windows32/Structures.h (IMAGE_DOS_HEADER): Define. |
| |
| Tue Jun 3 13:05:26 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * console.cc: respace |
| * fhandler.h: add virtual off_t lseek to fhandler_socket and |
| fhandler_tty defs, respacing |
| |
| Mon Jun 3 12:21:20 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * cygwin.din: export wait3, wait4 |
| * dcrt0.cc (_exit): call fill_rusage |
| * exceptions.cc (ctrl_c_handler): increment rusage_self.ru_nsignals++ |
| * fhandler.cc (fhandler_pipe::fhandler_pipe): new stub |
| * fhandler.h: add fhandler_pipe class |
| * hinfo.cc (hinfo_vec::build_fhandler): call |
| GetNumberOfConsoleInputEvents instead of GetConsoleScreenBufferInfo, |
| handle fhandler_pipe class |
| * pinfo.cc: include sys/resource.h, |
| (pinfo::clearout): erase memory associated with rusage_self |
| and rusage_children |
| * resource.cc (getrusage): rewrite |
| (add_timeval): new helper function |
| (add_rusage): new helper function |
| (fill_rusage): new helper function |
| * shared.cc (create_shared_fd_table): pass file mapping handle to |
| children letting them close it |
| * spawn.cc (spawn_guts): call fill_rusage and add_rusage as |
| appropriate |
| (cwait): ditto |
| * times.cc (__to_clock_t): add flag arg which says whether or not |
| to substract FACTOR from total |
| (times): also fill in tms_cstime and tms_cutime, add flag arg to |
| __to_clock_t calls |
| (totimeval): add extra flag passed on to __to_clock_t |
| (gettimeofday): add extra flag passed on to totimeval |
| * wait.cc (wait_for_single): add extra rusage arg, change |
| wait_found calls to account for extra arg |
| (wait_for_any): ditto |
| (_wait): call wait4 instead of waitpid |
| (wait_found): add rusage arg, deal with it calling add_rusage as |
| appropriate |
| (wait_pid): now just calls wait4 |
| (wait4): was wait_pid but adds extra rusage arg and deals with it |
| (wait3): new, calls wait4 |
| * winsup.h: include sys/resource.h, add rusage_self and |
| rusage_children to pinfo class, fix totimeval proto, add protos |
| for fill_rusage and add_rusage |
| * passwd.cc: include termios.h |
| (getpass): new |
| * stubs.cc (getpass): delete old stub |
| |
| Tue Jun 3 14:51:47 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * times.cc (ftime): New function. |
| * cygwin.din: Export ftime. |
| |
| Mon Jun 2 14:34:00 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * include/limits.h: NGROUPS_MAX should be 0 |
| * include/asm/socket.h: add missing additional options |
| including SO_SNDBUF, SO_RCVBUF, et al |
| * include/sys/wait.h: include sys/resource.h, add protos for |
| wait3() and wait4(). |
| |
| Mon Jun 2 15:26:35 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * utils/configure.in: Call AC_PROG_INSTALL. |
| * utils/configure: Rebuild. |
| |
| Mon Jun 2 11:44:14 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * grp.cc (getgroups): new |
| * cygwin.din: export getgroups |
| |
| Fri May 30 16:47:38 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * uname.cc (uname): completely rewrite, using more of the |
| SYSTEM_INFO struct to figure out information (now x86 type is |
| set correctly in Windows 95. |
| * version.h: increment CYGWIN_DLL_VERSION_MINOR |
| * include/Windows32/Structures.h: SYSTEM_INFO struct's first |
| member is dwOemId, not dwOemID according to MS docs |
| |
| Fri May 30 16:47:38 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * window.cc: new file |
| * Makefile.in: add window.cc to lists of source, object files, |
| and dependencies. |
| * console.cc: include <stdlib.h>, scroll_screen() added to |
| fhandler_console class, |
| add support for default screen attributes, |
| (open): set default_color on tty open |
| (linearize/delinearize): pass default_color to the child process |
| (clear_screen): fix Win95-specific bug, add support for |
| default_color. |
| (clear_to_eol): remove |
| (fhandler_console::fhandler_console): set default_color to |
| white on black |
| (char_command): add invisible screen attribute, misc changes |
| (FakeReadFile): do not convert AltGr-char to ESC-char sequence |
| to support international keyboards. |
| * cygwin.din: export setitimer, getitimer |
| * dcrt0.cc (dll_crt0_1): add call to window_init(), uppercase |
| environment vars only if started by a win32 process. |
| (_exit): add call to window_terminate() |
| * fhandler.cc: add mode argument to open() calls, |
| (fhandler_base::open): do not check for symlink in path_conv |
| calls, calls to set/get_file_attribute() instead of NTRead/WriteEA. |
| (fhandler_base::fstat): use get_file_attribute if possible |
| (fhandler_disk_file::open): remove unneeded unixattr checks |
| * fhandler.h: changes to support above. |
| * fork.cc (cygwin_fork_helper_1): pass umask value to the child, |
| call window_init() in child |
| * ntea.cc: enable EA calls, add FILE_FLAG_BACKUP_SEMANTICS |
| to CreateFile calls to support EA of directories. |
| * path.cc (symlink): add mode argument to _open call, remove |
| unneeded stuff |
| (symlink_check_worker): add checks for "system" attribute and EA. |
| * security.cc (get/set_file_attribute): new. Calls EA code now, |
| placeholders for NTFS security support. |
| * signal.cc (alarm): remove in favor of new implementation in |
| window.cc |
| (RemoteThread): remove |
| (_kill): use window messages to emulate signals on both NT and Win95 |
| * spawn.cc (spawn_guts): call window_terminate on exec() |
| (cwait): correct return result code |
| (_spawnve): add umask inheritance, some bug fixes |
| * syscalls.cc (_open): add mode argument, umask support |
| (umask): rewritten |
| (chmod): try to set file attributes, set system bit on symlinks |
| (stat_worker): fix nlinks of directories, add mode argument |
| to _open() call. |
| * syscalls.h: add mode argument to _open() prototype |
| * winsup.h: changes to support above |
| |
| Tue May 27 12:22:19 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * times.cc (gettimeofday): return 0 on success instead of 1 |
| (utimes): init res to 0 |
| |
| Wed May 21 11:29:24 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/limits.h: define NGROUPS_MAX |
| |
| Tue May 20 14:13:59 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * passwd.cc: rename function setpwend to setpwent (typo) |
| * cygwin.din: ditto, also remove name__C9type_info from |
| exports list. |
| |
| Wed May 14 17:38:39 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * signal.cc (sleep): call WaitForSingleObject instead of Sleep |
| (usleep): ditto |
| |
| Wed May 7 15:34:07 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| Public gnu-win32 beta 18 release made |
| |
| Sun May 4 15:34:07 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Mikey <jeffdb@netzone.com>: |
| * console.cc (FakeReadFile): FlushConsoleInputBuffer if |
| flags & ENABLE_LINE_INPUT and then return ReadFile |
| |
| Fri May 2 10:53:10 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * signal.cc: make exported functions extern "C" |
| * include/cygwin32/socket.h: replace values assigned to |
| IP_ definitions with ones suitable for use with WinSock. |
| * cygwin.din: add exports for sigpending, sigsuspend, remove |
| exports for __9type_infoPCc and before__9type_infoRC9type_info |
| * winsup.h: remove signal-related protos from winsup.h in favor |
| of newlib/libc/include/sys/signal.h |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * signal.cc: (sigpending) new |
| (sigsuspend): new |
| * utils/termcap: replace with one from Linux |
| |
| Tue Apr 29 19:03:29 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/ps.cc: print Win32 pid as unsigned int so Windows 95 |
| pids don't show up as negative values |
| |
| Tue Apr 29 17:20:57 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * spawn.cc (spawn_guts): allocate new cygwin PID for a child |
| created with spawn(!_P_OVERLAY) |
| |
| Tue Apr 29 13:24:59 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * console.cc: assorted console fixes |
| * select.cc (fd_socket_map::convert_to_unix_fdset): only |
| do full debug_printf if used_ valid |
| * exceptions.cc: correct constants used for checking size of |
| stack (should be negated) |
| * fhandler.cc (fhandler_base::open): fix syscall_printf typo |
| |
| patch from marcus@cathcart.sysc.pdx.edu (Marcus Daniels): |
| * include/sys/mman.h: define MAP_ANON MAP_ANONYMOUS (typo fix) |
| |
| Mon Apr 28 15:19:44 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: remove libgcc2.a internal functions |
| |
| Mon Apr 28 14:57:04 1997 Michael Meissner <meissner@cygnus.com> |
| |
| * cygwin.din (before__9type_infoRC9type_info): Remove, the |
| type_info::before(type_info const &) function no longer seems to |
| exist. |
| |
| Mon Apr 28 14:19:44 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * console.cc (undo_input): new |
| (scroll_screen): new |
| (fhandler_console::output_tcsetattr): fix debug printf |
| (fhandler_console::input_tcsetattr): no longer call set_w_binary |
| (fhandler_console::cursor_get): fix base_chars |
| (fhandler_console::char_command): make savex, savey globals, |
| add char buf, add code to handle clears better, many other |
| additions |
| (fhandler_console::write_normal): assorted fixes |
| (fhandler_console::write): move screen scroll code to |
| scroll_screen(), support Reset Linux terminal, Restore cursor |
| position, Save cursor position, Skip orig_colors |
| (FakeReadFile): enlarge keytable to include shift/control/alt |
| values |
| Command set still missing set pelette, character sets, and |
| UTF codes. |
| |
| Mon Apr 28 12:19:44 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::open): only include |
| FILE_SHARE_DELETE in shared when running NT (Win 95 doesn't |
| support it). |
| |
| Thu Apr 24 18:57:21 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Jeremy Allison <jra@cygnus.com>: |
| Correct problem caused by setting /dev/null fd to -1 which is |
| same as INVALID_HANDLE_VALUE. |
| * fhandler.h: set DEV_NULL_HANDLE_VALUE to -2 |
| * fhandler.cc (fhandler_dev_null::open): set handle to |
| DEV_NULL_HANDLE_VALUE instead of INVALID_HANDLE_VALUE |
| * hinfo.cc (hinfo_vec::build_fhandler): add case for |
| handle == (HANDLE) DEV_NULL_HANDLE_VALUE |
| |
| Thu Apr 24 15:12:13 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::write): catch return of raw_write |
| and return -1 if it failed |
| |
| Thu Apr 24 10:42:01 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| path.cc (symlink): restore chmod call for now since the NTEA code |
| isn't quite up to the task yet. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * exceptions.cc (ctrl_c_handler): corrections to Apr 18 patch |
| * fhandler.cc: ditto |
| * dcrt0.cc (dll_crt0_1): move console title setting code, |
| set up default signal handlers |
| * fork.cc (cygwin_fork_helper1): also set child->sigs and |
| child->sig_mask |
| * spawn.cc (spawn_guts): if mode _P_OVERLAY, set up child |
| signal handlers. |
| |
| Mon Apr 21 22:29:49 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/Windows32/ASCIIFunctions.h: remove old def of |
| GetEnvironmentStringsA, add new one based on def from Functions.h |
| * include/Windows32/Functions.h: define GetEnvironmentStrings as |
| GetEnvironmentStringsA when not unicode, remove definition of |
| GetEnvironmentStrings in favor of ones in ASCIIFunctions.h and |
| UnicodeFunctions.h |
| * include/Windows32/Defines.h: add missing XTYP_ definitions, |
| change value of XTYPF_NOBLOCK to 0x0002 from 0x2 |
| * include/Windows32/Sockets.h: comment out redefinitions of |
| errno.h-type constants since MS doesn't define them and we |
| have our own in errno.h |
| |
| Fri Apr 18 10:40:30 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/Windows32/Structures.h: add typedefs for |
| LPDLGITEMTEMPLATE, PDLGITEMTEMPLATE. |
| * include/Windows32/Defines.h: define FW_REGULAR FW_NORMAL |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * exceptions.cc (ctrl_c_handler): do not reset signal |
| handler to SIG_DFL while processing the signal, instead |
| block the signal while handler executes. |
| * signal.cc (_raise): fixes related to the above |
| |
| Thu Apr 17 23:50:50 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * path.h: increase path length in mount table to MAX_PATH |
| in size instad of 30. This will increase cygwin.dll memory |
| usage by 20K. We need to remove static allocations from |
| path code. |
| |
| Thu Apr 17 10:11:50 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * exceptions.cc (ctrl_c_handler): CTRL_CLOSE_EVENT should |
| generate SIGHUP instead of SIGQUIT |
| * signal.cc (_raise): rewrite |
| |
| Wed Apr 16 10:42:46 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * version.h: increment CYGWIN_DLL_VERSION_MINOR |
| * syscalls.cc (system): use spawnvp instead of fork/exec |
| * ntea.cc: make all functions return false for now; they |
| were causing an obscene performance hit |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * console.cc (FakeReadFile): patch to support EINTR, EIO |
| * exceptions.cc: add support for return_handler, remove |
| control-C counter |
| (return_handler): new |
| (ctrl_c_handler): handle SIGCHLD, other assorted fixes |
| * fhandler.cc (fstat): reset errno to 0 |
| * passwd.cc (search_for): correct location of a debug printf |
| * select.cc: patches to handle signals better, respacing |
| * signal.cc (_raise): misc fixes |
| (_kill): call OpenProcess with PROCESS_ALL_ACCESS instead of |
| PROCESS_TERMINATE |
| * spawn.cc: more signal fixes |
| * syscalls.cc: add two new errors to errmap[] |
| (_stat_worker): fill out buf struct when stating directories |
| * wait.cc (wait_for_single): use INFINITE instead of large value |
| for timeouts |
| (wait_for_any): init nprocinfo to 1, not 0, other small fixes |
| * winsup.h: add signal_arrived to per_process class, reduce |
| amount of reserved space, add sig_pending to pinfo class |
| |
| Tue Apr 15 17:01:34 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/mkpasswd.c: change default shell to /bin/sh |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * utils/kill.cc: support sending numbered signals using |
| signal code instead of just calling TerminateProcess |
| |
| Tue Apr 15 15:24:55 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * utils/Makefile.in (INSTALL): Set to @INSTALL@. |
| (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@. |
| (INSTALL_DATA): Set to @INSTALL_DATA@. |
| (INSTALL_XFORM): Remove. |
| (install): Depend upon installdirs. Use $(program_transform_name) |
| directly, rather than using $(INSTALL_XFORM). |
| (installdirs): New target. |
| |
| Mon Apr 14 16:32:05 1997 Ian Lance Taylor <ian@cygnus.com> |
| |
| * utils/Makefile.in (INSTALL): Change install.sh to install-sh. |
| |
| Mon Apr 14 12:33:22 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * registry.cc: change key name to "Cygnus Solutions" instead |
| of "Cygnus Support" |
| * security.cc: don't include windows.h, already in winsup.h |
| * Makefile.in: add dependencies section entries for security.cc |
| and ntea.cc |
| |
| Fri Apr 11 00:03:49 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * dcrt0.cc: add harmless cast to FreeEnvironmentStrings call |
| * registry.cc: added more presumed-harmless casts |
| * shared.cc: and another, and respacing |
| * utils/Makefile.in: don't need to link with -lkernel32 since it's |
| included automatically |
| * fhandler.cc: fhandler_console and FakeReadFile moved to |
| console.cc, stop including sys/stat.h, sys/param.h, sys/types.h, |
| stdio.h, ctype.h, pwd.h, grp.h, stdlib.h |
| reordered/respaced code so now we have all of fhandler_base, then |
| all of fhandler_disk_file, then all of fhandler_tty, etc... |
| (fhandler_base::ioctl): delete unused switch statement |
| * console.cc: added fhandler_console and FakeReadFile from |
| fhandler.cc, add includes necessary for this code |
| * grp.cc, Makefile.in: fix copyright dates |
| * ntea.cc: include string.h |
| |
| Thu Apr 10 22:00:43 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * path.cc (symlink): do NTWriteEA instead of chmod using same |
| flags |
| |
| Thu Apr 10 17:36:43 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from gunther.ebert@ixos-leipzig.de (Gunther Ebert): |
| * Makefile.in: add libnetapi32.a to DLL_IMPORTS list, build security.o |
| * fhandler.cc (get_file_owner): new |
| (get_file_group): new |
| (fhandler_base::fstat): do another path_conv and check for error, |
| use get_file_owner and get_file_group to set buf->st_uid and |
| buf->st_gid |
| * fhandler.h: add protos for get_file_owner() and get_file_group() |
| * grp.cc (add_grp_line): new helper function |
| (read_etc_group): new helper function |
| (getgrgid): rewritten, no longer a stub |
| (getgrnam): rewritten, no longer a stub |
| (endgrent): rewritten, no longer a stub |
| (getgrent): rewritten, no longer a stub |
| * include/Windows32/ASCIIFunctions.h, include/Windows32/Base.h, |
| include/Windows32/Functions.h, include/Windows32/Defines.h, |
| include/Windows32/Structures.h, include/Windows32/UnicodeFunctions.h: |
| misc security/uid-related additions |
| * passwd.cc (add_pwd_line): new |
| (read_etc_passwd): new |
| (search_for): rewrite |
| (setpwend): rewritten, no longer a stub |
| (getpwent): rewritten, no longer a stub |
| (endpwent): rewritten, no longer a stub |
| * security.cc: new file |
| (get_world_sid): new |
| (world_full_access): new |
| (get_id_from_sid): new |
| (is_nt): new |
| * stubs.cc (endgrent): remove |
| (getgrent): remove |
| * syscalls.cc (rel2abssd): new |
| (set_process_privileges): new |
| (chown): now implemented for real for NT, still a stub in Win95 |
| (_stat_worker): use get_file_owner and get_file_group to set |
| buf->st_uid and buf->st_gid |
| * uinfo.cc: add protos for read_etc_passwd, read_etc_group |
| (uinfo_init): call read_etc_passwd(), read_etc_group() |
| * utils/Makefile.in: build mkpasswd, mkgroup |
| * utils/mkgroup.c: new, use to make an /etc/group file |
| * utils/mkpasswd.c: new, use to make an /etc/passwd file |
| * winsup.h: add protos for is_nt(), get_id_from_sid() |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * Makefile.in: build ntea.o |
| * dcrt0.cc (dll_crt0_1): move console title code here from spawn_guts |
| * exceptions.cc (ctrl_c_handler): small signal fixes, prepare |
| things so we can eventually reset the signal handler to SIG_DFL |
| * fhandler.cc (fhandler_disk_file::open): first check for EA info |
| about exec/symlink status before doing it the hard way |
| (fhandler_make_pipe): u->self->hmap.build_fhandler takes extra arg |
| (fhandler_base::open): make use of NTEA |
| * fhandler.h: remove init_std_file_from_handle, build_fhandler |
| protos |
| * hinfo.cc: include mywinsock.h and sys/socket.h, define |
| __INSIDE_CYGWIN_NET__, __INSIDE_CYGWIN32__ |
| (hinfo_vec::build_fhandler): takes an additional handle arg, |
| call GetConsoleScreenBufferInfo with it to see if are |
| fhandler_console, call GetCommState with it to see if we're |
| an fhandler_tty, call getpeername with it to see if we wamt |
| fhandler_socket. Old determining methods still work too. |
| * path.cc (symlink): chmod file to ((S_IFLNK) | (STD_RBITS) | |
| (STD_WBITS) | (STD_XBITS)) permissions |
| * select.cc: include stdio.h |
| (cygwin32_select): fix typo (missing an &), |
| assorted fixes for mixed socket/handles case |
| * shared.cc (create_shared_fd_table): set sa.bInheritHandle to 1 |
| to support reparenting |
| * signal.cc (_kill): add FIXME, cleanup return codes |
| * spawn.cc (spawn_guts): remove console title code, add code |
| to support reparenting of child processes |
| * syscalls.cc: add new third arg to hmap.build_fhandler calls |
| (chmod): make use of NTWriteEA |
| * ntea.cc: new file, NTEA handling routines |
| * times.cc: fix value of NSPERSEC |
| (utimes): fix return value |
| * wait.cc: changes to support reparenting, change INFINITE to |
| constant 500 to avoid "blocking win32 syscalls and signals" |
| problem |
| * winsup.h: add NTReadEA, NTWriteEA protos, define REPARENTING, |
| fix build_fhandler proto to add new arg, add handles hrProcess and |
| hrThread |
| |
| Tue Apr 9 00:25:33 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * libcerr.cc: remove fixed size of sys_errlist array, figure out |
| sys_nerr from the sizeof the array rather than hard coding it. |
| * shared.cc (open_shared_file_map): add typecast |
| * signal.cc (_kill): SIGKILL should avoid exception handler |
| * fork.cc (cygwin_fork_helper1): don't call ExitProcess with a |
| negative arg on recreate_mmaps_after_fork failure |
| * include/Windows32/Defines.h: define VER_PLATFORM_WIN32_WINDOWS |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * dcrt0.cc: move reent_data from private address space to cygwin.dll |
| * fork.cc: copy parent's reent_data to the child |
| * cygwin.din: export reent_data |
| * winsup.h: add as public struct _reent reent_save to pinfo class |
| |
| another patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * winsup.h: add ctrl_c_handler prototype |
| * exceptions.cc (init_exceptions): don't use u->self->hThread |
| since for a spawned process, this contains thread id of parent |
| Win32 process, not the child's. Instead use GetCurrent* funcs |
| to get thread handle. |
| (ctrl_c_handler): add more signal support, especially for kill |
| * signal.cc (_kill): more signal support, using CreateRemoteThread |
| under NT. Win95 only supports SIGKILL since it doesn't have this |
| call. |
| * syscalls.cc (windows_95): first version check should be an & |
| of 0x80000000 instead of 0x8000000 |
| (close_all_files): hmap[i] doesn't always exist, for now comment |
| out code |
| |
| patch from marcus@sysc.pdx.edu (Marcus Daniels): |
| * path.cc (skip_n_slashes): new local function |
| (symlink_check_worker): new local function, used to be symlink_check |
| (symlink_check): calls symlink_check_worker and returns |
| whether path is a symlink or not. |
| (symlink_expand): new local function, expand a symlink into |
| a file or directory path using symlink_check_worker |
| (path_conv::path_conv): takes extra follow_mode arg |
| (symlink_follow): call symlink_expand |
| * fhandler.cc, syscalls.cc: fix path_conv references |
| * path.h: fix path_conv prototype |
| |
| Mon Mar 24 19:44:28 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * select.cc: fix Feb 19 patch to select |
| * syscalls.cc: add statfs() and fstatfs() calls |
| * include/sys/vfs.h: new header file to support these |
| * cygwin.din: add them to dll export list |
| |
| Tue Mar 18 18:10:24 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * dcrt0.cc: change idata3 asm section to have five null fields |
| instead of eight to conform to how MS does this section. |
| |
| Sun Mar 9 13:10:55 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/sys/resource.h: add missing struct members to rusage struct |
| * resource.cc: added setting of missing fields, mostly to 0 until |
| we investigate how to set correct values. |
| |
| Wed Feb 19 17:44:06 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * select.cc: Added fixes from sos@prospect.com.ru (Sergey Okhapkin) |
| to implement blocking select on sockets/handles. This isn't |
| the way I finally want to do this, but I won't get chance |
| to do the re-write for a month or two so... |
| * include/Windows32/Defines.h: Added defines for NT ACL |
| stuff. |
| |
| Tue Feb 18 12:28:11 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * fhandler.cc: support reverse index escapes in console code |
| |
| Fri Feb 14 18:55:01 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * path.cc: Fixed normalize_posix_path() so that double slashes |
| are removed, except for those starting a UNC path. The command |
| ls .///////FILE_IN_DIRECTORY works now. |
| |
| Thu Feb 13 14:06:04 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * path.cc: remove SLASH_P define and |
| * winsup.h: define it here instead |
| patch from scottk@utig.ig.utexas.edu (Scott Kempf): |
| dirsearch.cc (opendir): fix problem with accessing "/" |
| |
| Mon Feb 10 13:57:11 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * misc.cc: replace nice () stub with Win32 implementation |
| * spawn.cc |
| * fork.cc: use priority returned by GetPriorityClass |
| |
| Wed Feb 5 16:56:23 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler.cc, syscalls.cc: minor reformat |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * spawn.cc: set console title to reflect what's running |
| * winsup.h: TITLESIZE define added |
| |
| Mon Feb 3 16:53:10 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler.h: fix typo |
| * fhandler.cc: check_execable_p should only take one arg now |
| |
| Mon Feb 3 16:16:39 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * fhandler.cc: Removed open_helper, turned it into |
| fhandler_base::open and added fhandler_disk_file::open. More |
| correct C++. |
| fhandler_disk_file: Moved check_execable_p into fhandler_disk_file. |
| tty ports are now closed correctly. |
| * fhandler.h: Changes to support the above. |
| |
| Fri Jan 31 19:14:34 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::open_helper): new function |
| containing the common open() code. symlink and executable |
| status defaults to 0. |
| (fhandler_tty::open): new function that calls |
| fhandler_base::open_helper |
| (fhandler_base::open): remove common code now in open_helper, |
| leaving symlink checking and executable checking |
| * fhandler.h: changes for the above, open_helper is protected |
| |
| Thu Jan 30 15:23:15 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * hinfo.cc: also treat com3 and com4 as special files |
| * spawn.cc (spawn_guts): check return of WaitForSingleObject |
| in _P_WAIT case, some reformatting |
| |
| Tue Jan 28 10:46:16 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * net.cc: Added errors "WSAEINVAL", "WSAEFAULT" as these |
| can be returned for net calls. |
| * fhandler.cc: Added FILE_SHARE_DELETE to open share modes. |
| Much closer to POSIX on NT now (ignored on '95). |
| |
| Fri Jan 17 13:32:26 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * configure.in: |
| * utils/configure.in: define LIB_AC_PROG_CC to get around |
| autoconf 1.12 problem. Invoke it instead of AC_PROG_CC. |
| * configure: |
| * utils/configure: regenerate |
| |
| Thu Jan 16 12:35:41 1997 Geoffrey Noer <noer@cygnus.com> |
| |
| * mmap.cc: added missing copyright notice |
| |
| Tue Jan 14 12:51:12 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * cygwin.din: Added get_osfhandle, cwait and all the |
| spawn functions. |
| * exec.cc: Added include of process.h. Changed call to |
| spawn_guts to add extra parameter. |
| * libcerr.cc: Added extra error messages. Ensured |
| messages start at zero. |
| * spawn.cc: Changed spawn_guts to do wait and nowait |
| calls. Added all spawn functions. |
| * syscalls.cc: Added get_osfhandle. |
| * winsup.h: Removed incorrect spawn definitions, |
| corrected prototypes for spawn_guts and file_exists |
| calls. |
| * include/io.h: New file. Added for get_osfhandle. |
| |
| Thu Jan 9 14:20:01 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * exceptions.h: Moved from winsup to winsup/include. |
| * include/mywinsock.h: Added getprotobynumber and |
| getservbyport. |
| * Makefile.in: Moved exceptions.h dependency. |
| * cygwin.din: Added cygwin32_getprotobynumber and |
| cygwin32_getservbyport. |
| * net.cc: Added cygwin32_getprotobynumber and |
| cygwin32_getservbyport. |
| |
| Wed Jan 8 14:15:35 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * fhandler.cc: Fix from Scott Kempf (scottk@rimu.ig.utexas.edu) |
| to ensure creation_disposition is set correctly in open. |
| |
| Fri Jan 3 12:10:22 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * fork.cc: Added parameter to recreate_mmaps_after_fork |
| in child, and added set_child_mmap_ptr() call in parent. |
| Needed as cygwin.dll statics are not copied accros a fork. |
| * mmap.cc: Added parameter to recreate_mmaps_after_fork, |
| added set_child_mmap_ptr() call. |
| * winsup.h: Added mmap_ptr to pinfo struct. Removed obsolete |
| comments. |
| * Makefile.in: Added -I../libio, needed to rebuild source |
| using STL. Also added -nostdinc++ on recommendation of |
| Mike Stump (mrs@cygnus.com). |
| |
| Thu Jan 2 17:23:10 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * dcrt0.cc: Added a call to initialize winsock on app |
| init. |
| * fork.cc: Added call so child initializes winsock before |
| returning from the fork. This makes many network daemons |
| run correctly that did not before (apache soon...). |
| * net.cc: Removed calls to checkinit, this is now done on |
| app startup. Renamed checkinit to socket_checkinit and |
| removed static scope. |
| * winsup.h: Added prototype for socket_checkinit(). |
| |
| Thu Jan 2 12:25:06 1997 Jeremy Allison <jra@cygnus.com> |
| |
| * dcrt0.cc (api_fatal): Check that u and u->self are |
| not zero before indirecting through them. |
| * fork.cc: Changed security descriptor for fork |
| mutexes to allow access by all. |
| * pinfo.cc: Changed security descriptor for shared |
| area to allow access by all. |
| * shared.cc: Added get_null_sd() call to return |
| security descriptor allowing access by all. Needed |
| when a cygwin32 service is running and also interactive |
| cygwin32 apps by the current logged in user. |
| * winsup.h: Added prototype for get_null_sd(). |