[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 Tue, Jan 11, 2000 at 01:37:18PM -0800, Larry Wall wrote:
> : It is good that our schemes are so close. But mine is better ;-): you
> : do not need to check things periodically.
>
> Only for some values of "you". If you increment a variable then some
> value of "you" has to write code to check the variable. In my proposal
> Perl checks it for you.
Really? You mean that on
$SIG{USR1} = sub {$i++; return};
Perl will insert code to check for $i? And what will it do after the
check? ;-)
> : Later I realized that you probably you mean die() here:
> :
> : $SIG{} = [die => $message];
> :
> : will die atomically, but may leave things in a non-consistent state.
>
> Eh? I never said anything like that...
Then I fail to see what was your point.
> : All things in a)..d) can be made atomically without any damage. e)
> : can be done atomically if the array/hash is tied to something which
> : allows an atomic update.
>
> Seems unlikely, since you probably have to allow malloc in there somewhere
> to grow the array, unless you're journaling to disk, which seems relatively
> useless, or allocate a fixed size array, which can drop signals.
... but can mark that it dropped these signals, that is almost as good
as not dropping them.
> : Not a tiny bit easier: you still need to unblock the thread.
>
> How does OS/2 unblock a thread? Obviously it can, or threads would never
> run.
The only way for user to unblock a thread is to kill it.
> How about if the signal-handling thread is waiting on some I/O that
> another thread can provide?
All signals are delivered to thread 0. Make it a signal-handling
thread, and everything becomes nice. 1/2 ;-) But I think
signals-via-IO may be possible (if you forget about the overhead).
Though it would be much easier to do by mutexen. ;-)
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]