Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Oct 2010 15:17:19 +0200
From:      Ed Schouten <ed@80386.nl>
To:        delphij@FreeBSD.org, current@FreeBSD.org
Subject:   truss calls setpgid()
Message-ID:  <20101011131719.GA90530@hoeg.nl>

next in thread | raw e-mail | index | archive | help

--fdj2RfSjLxBAspz7
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi all,

I've been seeing this bug for a very long time, but I was too lazy to
figure out the root cause earlier. It is TTY related, but in this case
the TTY layer is not to blame. It does things correctly.

When you run a command in truss which calls ioctls on TTYs, it just
locks up. This is because truss runs jobs in a separate process group.
This also means you cannot send signals to it:

	truss sleep 10000

Pressing ^C here won't work.

I've fixed it locally like this:

Index: usr.bin/truss/setup.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.bin/truss/setup.c       (revision 213113)
+++ usr.bin/truss/setup.c       (working copy)
@@ -78,7 +78,6 @@
        }
        if (pid =3D=3D 0) { /* Child */
                ptrace(PT_TRACE_ME, 0, 0, 0);
-               setpgid (0, 0);=20
                execvp(command[0], command);
                err(1, "execvp %s", command[0]);

Question: was this intentional? I'd rather not break stuff.

Greetings,
--=20
 Ed Schouten <ed@80386.nl>
 WWW: http://80386.nl/

--fdj2RfSjLxBAspz7
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (FreeBSD)

iEYEARECAAYFAkyzDl8ACgkQ52SDGA2eCwXUlwCdGaKtxCJecJfxRbJSSpLsXHSm
TJUAn1QwBeKzcpgAdX7p9nMH4+hmTgZO
=UZAB
-----END PGP SIGNATURE-----

--fdj2RfSjLxBAspz7--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101011131719.GA90530>