Denys Vlasenko 0df9ed47af Do not suspend waitpid.
strace used to suspend waitpid until there is a child
for waitpid'ing process to collect status from.
Apparently, it was done because in some very old kernels
(circa 2002 or even earlier) there were ptrace bugs which
were making waitpid in real parent to not see children.
This kernel bug is fixed long ago. This change removes the workaround.
test/wait_must_be_interruptible.c is a test program which
illustrates why without this change strace changes
programs's behavior.

* defs.h: Delete waitpid and nclone_waiting members from from struct tcb.
  Remove declaration of internal_wait().
* process.c (internal_wait): Remove this function.
* strace.c (alloc_tcb): Do not set tcp->nclone_waiting.
  (resume): Remove this function.
  (resume_from_tcp): Remove this function.
  (detach): Do not call resume_from_tcp().
  (handle_group_exit): Do not call resume_from_tcp().
* syscall.c (internal_syscall): Do not call internal_wait().

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2011-06-18 11:38:51 +02:00
2011-03-14 15:39:36 +00:00
2011-02-25 16:53:50 +00:00
2011-06-09 15:16:01 +00:00
2011-06-09 18:28:02 +00:00
2011-03-14 15:32:38 +00:00
2011-06-07 12:13:24 +02:00
2011-04-07 19:58:10 +00:00
2009-07-08 21:01:21 +00:00
2002-03-31 18:43:00 +00:00
2011-03-15 15:46:52 +00:00
2011-06-18 11:38:51 +02:00
2011-06-13 23:03:11 +00:00
2009-09-18 12:07:03 +00:00
2011-06-07 12:13:24 +02:00
2011-06-13 21:58:43 +00:00
2011-06-07 12:13:24 +02:00
2011-06-07 12:13:24 +02:00
2011-03-14 15:39:36 +00:00
2011-06-13 21:58:43 +00:00
1999-02-19 00:21:36 +00:00
2011-06-18 11:38:51 +02:00
2009-02-23 08:07:45 +00:00
2009-07-08 21:01:21 +00:00
1999-02-19 00:21:36 +00:00
2010-07-17 17:46:28 +02:00
2011-06-13 21:58:43 +00:00
2009-09-18 12:07:03 +00:00
2011-06-07 12:13:24 +02:00
2011-06-18 11:38:51 +02:00
2011-03-14 15:39:36 +00:00
2011-06-07 12:13:24 +02:00
2011-06-18 11:38:51 +02:00
2009-09-18 12:07:03 +00:00
2011-06-07 12:13:24 +02:00
2010-02-04 22:40:57 +00:00
2001-07-10 13:48:44 +00:00
2011-06-07 12:13:24 +02:00
1999-02-19 00:21:36 +00:00

This is strace 4.0, a system call tracer for SunOS 4.x, Linux, System
V release 4, Solaris 2.x and Irix 5.x.  strace is released under a
Berkeley-style license at the request of Paul Kranenburg; see the file
COPYRIGHT for details.

Read the INSTALL file for generic instructions on how to install
strace.  If configure cannot guess your system configuration, you can
specify it on the command line after the other options like this:

	./configure --prefix=/usr i486-linux

A single sunos4.1 binary should work on all the sun4, sun4c and sun4m
kernel architectures.  Let me know if sun4d doesn't work.  Other
i486-*-sysv4 systems may work with little or no tweaking.

See the file NEWS for information on what has changed in recent
versions.

See the file PORTING if you like strace but it doesn't work on an
operating system you use frequently.

See the file CREDITS to see who has contributed to strace.

See the file TODO if you feel like helping out.

You can get the latest version of strace from its homepage at
http://sourceforge.net/projects/strace/ .

Please send bug reports and enhancements to the strace
mailinglist at strace-devel@lists.sourceforge.net, or directly to
Wichert Akkerman <wakkerma@debian.org>
Description
No description provided
Readme 17 MiB
Languages
C 92.2%
Shell 3.4%
M4 1.4%
Makefile 0.8%
Roff 0.7%
Other 1.5%