Mailing List Archive

Re: nessus-core/nessusd attack.c, 1.207, 1.208 nessusd.c, 1.238, 1.239 utils.c, 1.115, 1.116 utils.h, 1.26, 1.27
* renaud@nessus.org <renaud@nessus.org> [20050321 22:55]:
> Log Message:
> improved SIGCHLD management
>
> RCS file: /usr/local/cvs/nessus-core/nessusd/utils.c,v
> diff -u -d -r1.115 -r1.116
> --- utils.c 19 Jan 2005 21:23:30 -0000 1.115
> +++ utils.c 21 Mar 2005 22:55:05 -0000 1.116
> @@ -493,3 +493,12 @@
> l.l_linger = linger;
> return setsockopt(soc, SOL_SOCKET, SO_LINGER, (void*)&l, sizeof(l));
> }
> +
> +
> +void wait_for_children1()
> +{
> + int e;
> + do {
> + e = waitpid(-1, NULL, WNOHANG);
> + } while ( e > 0 || errno == EINTR );
> +}

This change (in HEAD and NESSUS_2_2!) yields a very narrow loop
which uses 100% CPU time on our system after completing a scan.

Thomas

--
Email: thomas@intevation.de
http://intevation.de/~thomas/