On Tue, 3 Apr 2001, Jason Tucker wrote:
Still looking into the sigpause() problem. I hoped maybe Sun had some
updated libc patches, but it looks like I'm relatively up to date. There
is a recent kernel patch that includes some libc stuff, but the release
notes don't reference any symptoms like what I'm seeing. Thinking about
trying it out anyway, just in case...
I found something here... it looks like the sigpause() in ldapaliasd.c is
sending a mask (0) as it's argument. However, Solaris' sigpause expects
an actual signal here. Here's a snippet from the sigpause() manpage:
-----
ERRORS
These functions fail if:
EINTR A signal was caught during the execution sig-
pause().
EINVAL The value of the sig argument is not a valid sig-
nal or is equal to SIGKILL or SIGSTOP.
-----
It was the second one that caught my eye. I think I mentioned earlier that
I don't consider myself to be a "programmer", however, as a test I decided
to change sigpause(0) to sigpause(SIGALRM) and recompile, just to see if
it had *any* effect, good or bad.
I don't know if this was the proper way to handle this, but it worked.
Everthing seems to be functioning OK, and courierldapaliasd is barely
using any cpu time now, and my out-of-control load average is normal
again.
So, at this point, my question is: is my fix going to cause any problems,
or am I good to go as is?
Thanks,
__Jason