[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem with netcat
From: |
Detlev Zundel |
Subject: |
Re: Problem with netcat |
Date: |
Wed, 13 Apr 2011 11:08:54 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Hi Mark,
> Andy Wingo <address@hidden> wrote:
>> I pushed a (sigaction SIGPIPE SIG_IGN) to (system repl repl), which
>> should fix the issue.
>
> Isn't this a bad idea? SIGPIPE generally indicates that something went
> wrong. If we ignore it, important problems may go unnoticed. To me,
> this seems kind of like ignoring SIGSEGV to get around a memory access
> to an unmapped area that would be inconvenient to prevent.
We do not ignore the problem, we simply allow guile to recat to the
problem ;)
Where previously guile simply died, I now see this in the father
guile-process when the problematic situation arises:
,----[ Guile Output ]
| scheme@(guile-user)> Backtrace:
| In ice-9/boot-9.scm:
| 170: 17 [catch #t #<catch-closure a283a10> ...]
| In unknown file:
| ?: 16 [catch-closure]
| In ice-9/boot-9.scm:
| 170: 15 [catch #t #<procedure a270a20 at system/repl/server.scm:115:10 ()>
...]
| In system/repl/server.scm:
| 122: 14 [serve-client #<input-output: socket 81> #(2 2130706433 49515)]
| In unknown file:
| ?: 13 [with-continuation-barrier #<procedure a2837c0 at
system/repl/server.scm:123:3 ()>]
| In ice-9/boot-9.scm:
| 170: 12 [catch #t #<catch-closure a2837b0> ...]
| In unknown file:
| ?: 11 [catch-closure]
| In module/ice-9/r4rs.scm:
| 170: 10 [with-input-from-port #<variable a2ccf88 value: #<input: soft
967d8e8>> ...]
| 174: 9 [with-output-to-port #<variable a2cce30 value: #<output: file
/dev/pts/1>> ...]
| 178: 8 [with-error-to-port #<variable a2cccd8 value: #<output: file
/dev/pts/1>> ...]
| In system/repl/server.scm:
| 131: 7 [#<procedure 9a57f10 at system/repl/server.scm:129:15 ()>]
| In module/system/repl/repl.scm:
| 160: 6 [run-repl #]
| 123: 5 [#<procedure 9a4d280 at module/system/repl/repl.scm:118:4 (key .
args)> read-error ...]
| In module/ice-9/format.scm:
| 1574: 4 [format #<input-output: socket 81> "While reading expression:
| "]
| 747: 3 [format:format-work "While reading expression:
| " ()]
| 234: 2 [anychar-dispatch]
| 80: 1 [format:out-char #\h]
| In unknown file:
| ?: 0 [write-char #\h #<input-output: socket 81>]
|
| ERROR: In procedure write-char:
| ERROR: In procedure fport_write: Broken pipe
| Backtrace:
| In ice-9/boot-9.scm:
| 170: 3 [catch #t #<catch-closure a283a10> ...]
| In unknown file:
| ?: 2 [catch-closure]
| In ice-9/boot-9.scm:
| 170: 1 [catch #t #<procedure a270a20 at system/repl/server.scm:115:10 ()>
...]
| In system/repl/server.scm:
| 122: 0 [serve-client #<input-output: socket 81> #(2 2130706433 49515)]
|
| system/repl/server.scm:121:2: In procedure serve-client:
| system/repl/server.scm:121:2: In procedure fport_write: Broken pipe
`----
Cheers
Detlev
--
Don't trust everything you read, and don't assume every poster in
a thread is actually relevant to the problem.
-- Stefan Monnier <address@hidden>