src/scan.c:
scans_active_for_addr() - walk the scan list and check if there are
any other scans in progress for a given IP address (as specified in
dot quad format).
When a scan fails and negative caching is enabled, check if there
are other scans in progress for the same address. If not, all
scans have failed and an entry should be added in the negcache.
Walking the list after every scan seems inefficient but I can't see
any other way to tell if there are no more scans active. So, at
the moment this is a good reason for not using negative caching.