This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
winsup cygwin/ChangeLog cygwin/child_info.h cy ...
- From: cgf at cygwin dot com
- To: cygwin-cvs at cygwin dot com
- Date: 29 Dec 2005 20:46:34 -0000
- Subject: winsup cygwin/ChangeLog cygwin/child_info.h cy ...
CVSROOT: /cvs/uberbaum
Module name: winsup
Changes by: cgf@sourceware.org 2005-12-29 20:46:34
Modified files:
cygwin : ChangeLog child_info.h cygtls.cc dcrt0.cc
dll_init.cc external.cc fhandler.cc
fhandler_tty.cc fork.cc init.cc
malloc_wrapper.cc pinfo.cc sigproc.cc spawn.cc
strace.cc winsup.h
cygwin/include/sys: strace.h
utils : ChangeLog strace.cc utils.sgml
Log message:
*** 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'.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/ChangeLog.diff?cvsroot=uberbaum&r1=1.3298&r2=1.3299
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/child_info.h.diff?cvsroot=uberbaum&r1=1.59&r2=1.60
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygtls.cc.diff?cvsroot=uberbaum&r1=1.39&r2=1.40
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/dcrt0.cc.diff?cvsroot=uberbaum&r1=1.278&r2=1.279
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/dll_init.cc.diff?cvsroot=uberbaum&r1=1.45&r2=1.46
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/external.cc.diff?cvsroot=uberbaum&r1=1.82&r2=1.83
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fhandler.cc.diff?cvsroot=uberbaum&r1=1.247&r2=1.248
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fhandler_tty.cc.diff?cvsroot=uberbaum&r1=1.158&r2=1.159
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fork.cc.diff?cvsroot=uberbaum&r1=1.174&r2=1.175
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/init.cc.diff?cvsroot=uberbaum&r1=1.60&r2=1.61
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/malloc_wrapper.cc.diff?cvsroot=uberbaum&r1=1.34&r2=1.35
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/pinfo.cc.diff?cvsroot=uberbaum&r1=1.218&r2=1.219
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/sigproc.cc.diff?cvsroot=uberbaum&r1=1.268&r2=1.269
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/spawn.cc.diff?cvsroot=uberbaum&r1=1.202&r2=1.203
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/strace.cc.diff?cvsroot=uberbaum&r1=1.54&r2=1.55
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/winsup.h.diff?cvsroot=uberbaum&r1=1.179&r2=1.180
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/include/sys/strace.h.diff?cvsroot=uberbaum&r1=1.19&r2=1.20
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/utils/ChangeLog.diff?cvsroot=uberbaum&r1=1.334&r2=1.335
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/utils/strace.cc.diff?cvsroot=uberbaum&r1=1.44&r2=1.45
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/utils/utils.sgml.diff?cvsroot=uberbaum&r1=1.56&r2=1.57