trying to narrow down nnrpd problem ... in newgroups?

Russ Allbery rra at stanford.edu
Wed Oct 6 04:27:02 UTC 1999


The Hermit Hacker <scrappy at hub.org> writes:

> First question, then...how does the following logic work:

>         if ((atol(q) < date) || !OVgroupstats(p, &lo, &hi, &count, &flag))

> if atol(q) < date is true, then does it skip doing the OVgroupstat, or
> does it depend on compiler/OS for that?

C guarantees short-circuiting.  If atol(q) < date is true, then the
OVgroupstats() call is never executed.  If C didn't guarantee
short-circuiting, code like

        if (p == NULL || *p == '\0') {

could produce segfaults, which would break lots of stuff.

So you could check my guess that it's OVgroupstats (well, at least
partially) by removing all lines in active.times older than the date
you're doing a NEWGROUPS for and seeing if it still takes as long to run.

-- 
Russ Allbery (rra at stanford.edu)         <URL:http://www.eyrie.org/~eagle/>


More information about the inn-workers mailing list