[Nagios-devel] NSCA 2.7 not working in single-process mode (bug)

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

[Nagios-devel] NSCA 2.7 not working in single-process mode (bug)

Post by Guest »

As of NSCA 2.6 up to NSCA CVS the nsca daemon is no longer running
successfully in single-process mode (--single option).
I discovered this during my recent upgrade to the Nagios 2.7.

The symptons have been described in earlier postings:
nsca responds to exactly one client request and stops responding
(while still running).
There is no solution execpt avoiding the --single mode and working
with --inetd or --daemon mode instead, or using NSCA 2.5.

I checked the source nsca.c and found a workaround:
Enable in the function "accept_connection" the following if statement
again:
/* REMOVED 04/03/2006 EG - already done in
wait_for_connections() */
/*
if(mode==SINGLE_PROCESS_DAEMON)
register_read_handler(sock,accept_connection,NULL);
*/
The real problem seems to lie in the way pfds.events is maintained.
handle_events() clears it ( pfds.events&=~POLLIN; ) and
register_poll() sets it again in NSCA 2.5 because
register_read_handler is called which in turn calls register_poll().
NSCA 2.7 does not call register_poll() and hence the fd is removed as
events=0 (done at the end of handle_events().

Could someone familiar with the code please have a look and check
the root cause of the problem.
I would be willing to work on a patch.

Thanks,

Rudolf VanderLeeden
Sysadmin
Logic United GmbH
Germany
[email protected]








This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Locked