newlib/winsup/cygwin/include
Christopher Faylor 5d97040501 *** cygwin DLL Changes:
* child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
(child_info::dwProcessId): Delete.
(child_info::straced): New variable.
(child_info::handle_fork): New member function.
* dcrt0.cc (in_forkee): New global variable.
(__cygwin_user_data::forkee): Mark as obsolete.
(do_global_ctors): Use in_forkee rather than user_data->forkee.
(get_cygwin_startup_info): Ditto.  Deal with new straced field to allow strace
to deal with children of attached processes.
(initial_env): Accommodate changes to strace::hello.
(child_info_fork::handle_fork): Rename from plain old 'handle_fork'.  Move
alloc_stack() call elsewhere.
(dll_crt0_0): Fill out more of user_data.  Reference handle_fork via fork_info.
Add some debugging output.
(_dll_crt0): Don't wait for sync thread if sync_startup is invalid.  Zero
sync_startup here.  Call alloc_stack() here, if appropriate.
(dll_crt0_1): Use in_forkee rather than user_data->forkee.
(dll_crt0): Ditto.
* malloc_wrapper.cc (malloc_init): Ditto.
* dll_init.cc (in_forkee): Remove local static version of this variable.
(dll_list::load_after_fork): Don't set in_forkee here.
* external.cc (cygwin_internal): Use strace method rather than accessing field
directly.
* fhandler.cc (fhandler_base::read): Ditto.
* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Ditto.
* fork.cc (frok::parent): Invoke strace write_childpid to communicate with
potential strace.
(child_copy): Add more detail to debugging output.
* init.cc (calibration_id): New static variable.
(prime_threads): Set sync_startup to invalid handle if we already know about
thread_func_ix.  Use static calibration_id to hold calibration thread id.
* munge_threadfunc (munge_threadfunc): Don't try to debug if we don't find
threadfunc_ix.
(dll_entry): Avoid calling munge_threadfunc and _cygtls::remove on non-cygwin
threads invoked during process startup.
* pinfo.cc (set_myself): Always call strace.hello here regardless of DEBUGGING.
* sigproc.cc (child_info::child_info): Remove spurious handling of dwProcessId.
Set straced as appropriate.
* spawn.cc (spawn_guts): Rename ciresrv to ch.  Invoke strace write_childpid to
communicate with potential strace.
* strace.cc: Include child_info.h.
(strace::hello): Remove inited test.  Use active() method to test if strace has
been activated.  Handle case where we are started before
(mypid): New function.
(strace::vsprntf): Try to deal more intelligently with case where progname may
not be filled out.  Put pid in parentheses if it is a windows pid rather than a
cygwin pid.  myself has been filled out.
(strace::write_childpid): New function for notifying strace about the creation
of children.
(strace::vprntf): Use strace method rather than accessing field directly.
(strace_printf): Ditto.
(strace::wm): Ditto.
* winsup.h (in_forkee): Declare.
* include/sys/strace.h (strace::write_childpid): Declare new function.
(strace::attached): Define new function.
(strace::active): Ditto.
(strace::active_val): Ditto.
(_STRACE_ON): Delete.
(_STRACE_OFF): Ditto.
(define_strace0): Use strace method rather than accessing field directly.
(strace_printf_wrap): Ditto.
(strace_printf_wrap1): Ditto.

*** cygwin utils changes:
* strace.cc (nprocesses): Make static global.
(quiet): New variable.
(strace_active): Ditto.
(add_child): Increment nprocesses here.  Don't add a child if it is already
added (windows bug?).  Report on child if not quiet.
(get_child): Just return NULL if child not found.
(remove_child): Report on child if not quiet.
(attach_process): Don't complain if given a windows process.  Use windows pid
in error.
(handle_output_debug_string): Issue error if trying to manipulate a process
that we don't know about.  Handle _STRACE_CHILD_PID - attach to reported child
when we get this.
(proc_child): Move nprocesses to file scope.  Report on exceptions.
(longopts): Implement "--quiet".
(opts): Implement "-q".
(main): Manipulate quiet flag.
* utils.sgml (strace): Add words describing '-q'.
2005-12-29 20:46:34 +00:00
..
arpa * net.cc (cygwin_inet_ntop): Change len argument to socklen_t to 2005-09-17 08:55:30 +00:00
asm * cygwin.din (getpeereid): Export. 2005-02-23 17:39:46 +00:00
cygwin * fhandler.h (fhandler_base::issymlink): New method. 2005-12-22 16:45:15 +00:00
machine * include/machine/stdlib.h: New file. 2005-06-01 18:24:31 +00:00
net * include/a.out.h: Add copyright hint. 2001-03-05 21:29:24 +00:00
netinet white space and minor comment cleanup. 2005-05-02 03:50:11 +00:00
sys *** cygwin DLL Changes: 2005-12-29 20:46:34 +00:00
a.out.h * include/a.out.h: Add copyright hint. 2001-03-05 21:29:24 +00:00
byteswap.h * include/byteswap.h: New file. 2005-07-26 00:55:42 +00:00
ctype.h * include/ctype.h: Accommodate building in newlib. 2005-03-28 21:58:23 +00:00
dlfcn.h * autoload.cc (EnumProcessModules): Add. 2004-09-14 08:29:12 +00:00
elf.h * include/sys/cdefs.h (__CONCAT): Define. 2005-08-08 15:00:39 +00:00
endian.h * include/endian.h: Remove USE_BSD ifdef since it is never defined on Cygwin. 2005-11-10 21:17:15 +00:00
err.h * bsdlib.cc (_vwarnx): New function. 2003-11-06 21:31:24 +00:00
exceptions.h * include/exceptions.h (exception_list): Revert previous change. Windows 2005-12-03 05:01:51 +00:00
fcntl.h * fhandler.h (fhandler_base::issymlink): New method. 2005-12-22 16:45:15 +00:00
features.h * include/features.h: Include sys/cdefs.h, like linux. 2004-12-01 17:07:03 +00:00
fnmatch.h 2002-02-28 Robert Collins <rbtcollins@hotmail.com> 2002-02-28 14:30:38 +00:00
fts.h * Makefile.in (DLL_OFILES): Add fts.o, ftw.o, nftw.o. 2005-08-08 09:45:42 +00:00
ftw.h * ftw.c: Include winsup.h. 2005-08-08 13:39:56 +00:00
getopt.h * Makefile.in (DLL_OFILES): Add getopt.o and iruserok.o. 2003-09-10 19:13:05 +00:00
glob.h * glob.c: (glob0): New local variable `limit`. Use in calls to glob1 2005-06-18 19:04:25 +00:00
icmp.h
inttypes.h * cygwin.din (imaxabs): Export. 2005-06-10 12:11:35 +00:00
io.h * include/io.h: Add access declaration. 2001-09-17 21:29:19 +00:00
lastlog.h * include/a.out.h: Add copyright hint. 2001-03-05 21:29:24 +00:00
libgen.h * cygwin.din (basename): Export. 2005-02-22 19:45:41 +00:00
limits.h * include/limits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Always define. 2005-05-29 10:05:56 +00:00
mapi.h Update copyrights. 2001-09-11 20:01:02 +00:00
memory.h * include/a.out.h: Add copyright hint. 2001-03-05 21:29:24 +00:00
mntent.h * include/a.out.h: Add copyright hint. 2001-03-05 21:29:24 +00:00
netdb.h revert erroneous checkin 2002-06-10 19:59:19 +00:00
paths.h * include/paths.h: Add some missing entries. 2003-09-25 03:46:20 +00:00
poll.h * include/a.out.h: Add copyright hint. 2001-03-05 21:29:24 +00:00
pthread.h * include/pthread.h: Change PTHREAD_MUTEX_DEFAULT to PTHREAD_MUTEX_NORMAL. 2005-06-11 04:56:36 +00:00
pty.h * Makefile.in (DLL_OFILES): Add bsdlib.o. 2003-09-10 15:51:59 +00:00
sched.h * configure.in: Remove PTH_ALLOW. 2001-04-12 04:04:53 +00:00
search.h * timer.cc (nanosleep): Treat tv_sec < 0 as invalid. 2005-03-27 02:31:33 +00:00
semaphore.h * cygwin.din: Add sem_close, sem_getvalue, sem_open and sem_timedwait. 2003-10-27 11:48:29 +00:00
stdint.h * include/stdint.h (INTMAX_C, UINTMAX_C): Fix definition. 2005-05-23 13:13:00 +00:00
strings.h
sysexits.h * include/sysexits: New file. 2000-12-10 22:19:50 +00:00
syslog.h * include/a.out.h: Add copyright hint. 2001-03-05 21:29:24 +00:00
termio.h * include/a.out.h: Add copyright hint. 2001-03-05 21:29:24 +00:00
tzfile.h * include/tzfile.h: Remove duplicate definition of TM_SUNDAY. 2003-12-01 10:39:17 +00:00
utmpx.h white space and minor comment cleanup. 2005-05-02 03:50:11 +00:00