Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Oct 2009 20:59:41 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        "Mikhail T." <mi+thun@aldan.algebra.com>
Cc:        stable@freebsd.org
Subject:   Re: Can close-ing a pipe trigger a SIGPIPE?
Message-ID:  <20091017175941.GK2160@deviant.kiev.zoral.com.ua>
In-Reply-To: <4ADA04B3.1000704@aldan.algebra.com>
References:  <4AD9F4ED.2050002@aldan.algebra.com> <20091017172718.GJ2160@deviant.kiev.zoral.com.ua> <4ADA04B3.1000704@aldan.algebra.com>

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

--D6IIOQQv2Iwyp54J
Content-Type: text/plain; charset=koi8-r
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Oct 17, 2009 at 01:53:55PM -0400, Mikhail T. wrote:
> Kostik Belousov =CE=C1=D0=C9=D3=C1=D7(=CC=C1):
> > Take ktrace of both parent and child.
> >  =20
> I can see the curious piece right here:
>=20
> The child exits:
>=20
>  92723 tclsh8.5 CALL  exit(0)
>=20
> The parent masks SIGPIPE (as part of my workaround):
>=20
>  92722 tclsh8.5 CALL  sigaction(SIGPIPE,0x7fffffffa9e0,0)
>  92722 tclsh8.5 RET   sigaction 0
>=20
> This 0-size write must be part of the pipe-closing -- descriptors 4 and
> 5 must be the pipe's:
>=20
>  92722 tclsh8.5 CALL  write(0x4,0x800e24028,0)
>  92722 tclsh8.5 RET   write -1 errno 32 Broken pipe
>  92722 tclsh8.5 PSIG  SIGPIPE caught handler=3D0x800f126d0 mask=3D0x0 cod=
e=3D0x0
>  92722 tclsh8.5 CALL  sigreturn(0x7fffffffa0c0)
>  92722 tclsh8.5 RET   sigreturn JUSTRETURN
>  92722 tclsh8.5 CALL  close(0x5)
>  92722 tclsh8.5 RET   close 0
>  92722 tclsh8.5 CALL  close(0x4)
>  92722 tclsh8.5 RET   close 0
>=20
> Why would it write 0 bytes? Is doing so triggering a SIGPIPE now -- but,
> perhaps, didn't use to?

Obviously, I cannot answer the question. This is something that should
be read from source code or asked by authors.

--D6IIOQQv2Iwyp54J
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkraBgwACgkQC3+MBN1Mb4gvxACg4dINw+O+/SWEBhfX/W0Pr5Nk
ydoAoIKZFTxI/jTgwl9hbOLUwyWT4et1
=1+ri
-----END PGP SIGNATURE-----

--D6IIOQQv2Iwyp54J--



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