[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]
Re: [ID 19991229.003] perl 5.005_03 core dumps -- singal
On Mon, Jan 10, 2000 at 01:28:16PM -0800, Larry Wall wrote:
> Ilya Zakharevich writes:
> : Larry Wall writes:
> : >
> : > Ilya Zakharevich writes:
> : > : I wonder why not we add something like
> : > :
> : > : $SIG{CHLD} = [inc => \$counter, set => [\$foo, 13], pid => \$pid];
> : > :
> : > : and avoid all the problems with a Perl function call altogether...
> : >
> : > Bletch, in a vague sort of way.
> :
> : But comparing to what we have now it would be a paradise. ;-)
>
> I was bletching the interface, not the implementation. I agree that
> the implementation of the current interface could use improvement.
And I was saying that a change of the interface can make the
improvements to become improvements, not changes with some positive
and some negative effects.
> This has all been discussed before. We need to delay sub invocations
> until we know we're in a safe state, such as the beginning of a
> statement, or at the interator of any looping constructs, including
> regular expressions.
No, we do not *need* to delay sub invocations. Delaying the
invocation is one of the possible workarounds to the current
disaster. It has many negative effects, like being a NOP in the case
of a long-running opcode.
And if you want the delayed semantic, you may do
$SIG{CHLD} = [delayed => sub {...} ];
And you can do
$SIG{CHLD} = [delayed => sub {...}, repeated => [2, sub {...}] ];
which might mean that if another signal appears when one is delayed
(meaning: AHA, something dangerous happens: signal was not served,
probably a long-running opcode, we need some recovery action), another
sub (or maybe another %SIG-compatible specification, as at the start)
should be run.
> Of course, within regular expressions we'd have
> to take extra care to be re-entrant, but the swash routines already do
> that now--see Perl_save_re_context().
Which is an obvious bletch.
Ilya
- Follow-Ups from:
-
Larry Wall <larry@wall.org>
- References to:
-
Ilya Zakharevich <ilya@math.ohio-state.edu>
Larry Wall <larry@wall.org>
[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]