[Nut-upsuser] Tripp Lite OMNI1000 LCD issues
Arjen de Korte
nut+users at de-korte.org
Mon Mar 31 07:16:03 UTC 2008
John Darrah wrote:
> I have determined that the socket is not being created. Even
> with -DDDD the following is never executed:
>
> upsdebugx(2, "dstate_init: sock %s open on fd %d", sockname, sockfd)
>
> With the driver running if did a "find /var /usr /lib /tmp -type s" and
> no sockets were found with the appropriate name you noted above.
That is bad news. The code that deals with the creation of the listening
socket hasn't essentially changed in at least three years time. So the
chances that we're dealing with a regression in the NUT code are slim.
Before trying anything else, I suggest to try out an older version of
NUT (one that you *know* once worked on your system) and see if it still
does in your current environment. My bet is, that it won't and that you
should be looking elsewhere for the cause of the problems you're seeing now.
[...]
> As for the issue of driver ignoring all signals except
> SIGKILL, I can see in the strace that the following signals
> are setup right after the chdir:
>
> .
> .
> setgroups32(1, [0]) = 0
> setgid32(0) = 0
> setuid32(0) = 0
> chdir("/var/run/nut") = 0
> rt_sigaction(SIGTERM, {0x8050440, [], 0}, NULL, 8) = 0
> rt_sigaction(SIGINT, {0x8050440, [], 0}, NULL, 8) = 0
> rt_sigaction(SIGQUIT, {0x8050440, [], 0}, NULL, 8) = 0
> rt_sigaction(SIGHUP, {SIG_IGN}, NULL, 8) = 0
> rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
See lines 416-435 in 'drivers/main.c' where we setup the signal handler
for these signals. Basically all that happens, is that we set a flag
that tells the driver to break from a loop. There is nothing wrong here
and similar like the socket code mentioned above, this hasn't changed in
at least three years.
Best regards, Arjen
More information about the Nut-upsuser
mailing list