[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#429021: libc6: fputs can lose data in buffer on signal

reopen 429021

On Fri, Jun 15, 2007 at 12:33:40PM -0400, Daniel Jacobowitz wrote:
> On Fri, Jun 15, 2007 at 06:09:42PM +0200, Pierre Habouzit wrote:
> >   The bug is here, you should set the flags to SA_RESTART so that
> > interupted syscalls are restarted. If you don't do so you'll break the
> > libio.
> Is this documented anywhere?  The manual says that EINTR is treated as
> an ordinary error, which would be fine; they don't say EINTR will lose
> your data.

  Nothing in POSIX says what happens wrt to fwrite and signals. At least
it's very unclear. But indeed the fact that SA_RESTART is the default
value for linux does not seem to be a POSIX requirement either.

> This seems like a bug to me unless you can find language in POSIX to
> the contrary.

  Maybe. I'm not sure.

  I'll open a bug on sourceware.org soon then. We'll see what Uli says,
if he's in a good mood enough...

·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

Attachment: pgp1enllEPRZs.pgp
Description: PGP signature

Reply to: