Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> As it states in the comment, you can't remove the longjump because
> it's the only way to break out of the read() call when using BSD signal
> semantics (unless you're proposing non-blocking read+select()). So the
> patch sets up the sigjump just before the read() and allows the routine
> to return. If you're not waiting for read(), no sigjump is done.
I think you're missing my point, which is: do we need control-C to
force a break out of that fgets at all?
regards, tom lane