monit-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: solaris and kill(pid, 0)


From: Christian Hopp
Subject: Re: solaris and kill(pid, 0)
Date: Wed, 23 Oct 2002 12:26:53 +0200 (CEST)

On 23 Oct 2002, Jan-Henrik Haukeland wrote:

> Christian Hopp <address@hidden> writes:
>
> Could this be a classic synchronization problem?

Yep... I consulted google!

Linux has a per-thread errno. (-:  So we do not see any trouble there!

I substituted kill(foo)==0 by getpgid(bar)>0.  That seems to work cuz
it doesn't wake up anything. Tnx to Oliver for the hint.

Solaris 7 doesn't have "thread specific errno". Hgrmph!

(...)

> [1] Aha, maybe the kill(0) signal on Solaris wakes up the monit daemon
> in it's sleep phase. This sounds plausible and then you will have a
> race condition on which thread sets errno. One soulution could be to
> mask out the 0 signal if possible at all in a signal(0, SIG_IGN) ?

Don't know, we simply don't use kill anymore. (-:

> Another solution could be to check for the process in the /proc
> system, since we have the code already, unfortunately this will not
> work on FreeBSD since only root is allowed to read kvm and I'm not
> sure about Solaris. Since monit should be run by any user it's an
> absolut last resort solution I feel.

No proc with solaris if you don't have permission.

Christian


-- 
Christian Hopp                                email: address@hidden
Institut für Elektrische Informationstechnik             fon: +49-5323-72-2113
Technische Universität Clausthal                         fax: +49-5323-72-3197
  pgpkey: https://www.iei.tu-clausthal.de/pgp-keys/chopp.key.asc  (2001-11-22)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]