> i think you may be misunderstanding what i'm saying.
> the test for n->flag does not appear to be accidental.
> i am not quite sure why that test is there, but i go on
> the assumption that presotto knew what he was doing.
> if you're going to claim he was wrong, i think you'd better
> have good reasons.

I'm not claiming anyone to be wrong. I want to solve
this problem.

> including explaining why it's okay
> to not terminate a process which has not handed a system
> note when it gets another.

which has not handled what? All it checks is if here is *any* note
handled currently. And if the *next* note to be handled is
a system note.

If here are any other implications in the check i dont see
here please tell.

I also noted that i think this is the correct behavior in
the previous mail. My patch is on the other side inpostnote(),
where the note is put in the up->note[] array, not where
it decides to kill the proc.

> the example program is carefully constructed to abuse
> notes beyond reason.

Its the extract of what linuxemu needs to do. Its not just
constructed to annoy anyone or prove someone wrong.

>  sleeping in a note handler seems
> like it's pushing the limits to me. 

It doesnt matter if we sleep() here. You could do a
write() or any other syscall instead. Or do the looping 
and wait for the timer interrupt.

Being curious, why is sleep() in a note handler a bad
idea?

>  having two threads
> sending notes to the same proc including one generating
> a constent stream of gpf's seems like it's a bit beyond what
> notes were intended for.  if you remove the sleep from the
> note handler, all the notes are handled.

Not the case for me... enabling the for loops results in the
same crash here. (It takes a little bit longer than doing the
sleep() thing, maybe you need to increase loop count to
trigger it on a faster machine)

> i don't think by itself
> it's particularly compelling example.  your vm example
> may be compelling.  i don't understand it yet, though.
> so i can't say.

> i'm not arguing for broken system calls.  but notes, like
> signals, tend to be convienent but fraught interfaces.
> maybe now that plan 9 has given in to multithreading,
> it's time to replace notes.

Dont tell me... But i cant think of any other way to catch
linux syscalls for now.

> - erik

--
cinap


Reply via email to