Igor Kovalenko <kovalenko@attbi.com> wrote in message
news:b9r7jg$emf$1@inn.qnx.com…
Hypothetically speaking, the latter would be a valid argument. In
practice,
you usually use SIGKILL as an “extreme” measure (after SIGINT and SIGTERM
did not work). Naturally, that means I want the client dead and am willing
to disregard whatever the hell the server ‘thinks’. Do I have that right
or
not? It is my system after all, I should be the ultimate authority. I
totally disagree with the notion that ‘it is not about what I (as the
client) think’.
I think you misunderstood what I meant. I agree that you should be able to
kill of all processes, and you should care less about what the server
thinks. The only problem that I see is making a inherently syncronus
exchange become asyncronous.
That said, not everyone plays nice and does a SIGINT/SIGTERM/SIGKILL
pattern, some just SIGKILL right away.
So yes, make your pause, but don’t fall into another extreme (don’t change
anything even if it is bad). I’d bet nobody is banking on holding
SIGKILL -
it is an unamaskable signal anyway so nobody makes any assumptions about
it.
I think that’s a nieve view - many times I am still surprised as to some of
the behaviour people bank on explicitly (and implicitly without
realization). Breaking that behaviour (good or bad) gives those people
heartburn, and some flat out expect you to support the incorrect behaviour
all the way through, and they could care less if the change is actually an
improvement.
While in the limited scope of SIGKILL, I’m sure no one is banking on holding
off SIGKILL on the client, but I’m sure people are not prepared for the
aftermath of changing that behaviour such that the server is not in sync
with the client.
I am not asking to change behavior for all signals, only unmaskable
ones. If a server could not reply for long enough time to make me SIGKILL
the client, it is probably not going to reply ever. Then it could just as
well discard the request. It should of course still receive the
notification
about client willing to disconnect to do that.
I agree.
As an alternative route, I could ask you (as QNX) to fix all your shipped
servers so that they honor clients’ wish to disconnect. But I know that is
too much to ask >
It’s not too much to ask at all. Through the official channels everything
is possible.
-Adam