PktSrc::GetNextTimeout always returned a fixed timeout of 20 microseconds for non-selectable packet sources regardless of whether they have packets available. This adds unnecessary delay every FindReadySources poll_interval when packets are available to be read.
Instead, for non-selectable packet sources, check whether packets are available and return a timeout of 0 to indicate data is available. This is closer to the behaviour of the old capture loop.
This was mitigated somewhat by the fact FindReadySources poll interval defaults to 100 packets, and live sources are added to the ready list regardless of whether they have packets available (unless it is time to force a poll).
* origin/topic/vern/table-attr-fixes:
updates for btests - new cases to check, new baselines
updates for btests - new cases to check, new baselines
fix for ill-formed (complex) &default function
type-checking for use of empty table constructors in expressions
catch empty constructors used for type inference suppress repeated error messages
factoring to make checking of &default attributes externally accessible
bug fix for empty table constructors with &default attributes (plus a typo)
* topic/christian/gh-1963:
Add cmake-time reporting of bifcl, binpac, and gen-zam used for build
Build Gen-ZAM from a submodule and support use of pre-existing executable
* origin/topic/vern/event-trace:
low-level style tweaks
--event-trace / -E option to generate event trace
hooks to support event tracing
classes providing event-tracing/dumping functionality
provide access to Val internals for event tracing purposes
set_network_time() BiF in support of event replaying
low-level naming tweaks / comments / const-ified accessor
* origin/topic/vern/init-integration:
updates for compile-to-C++
updates for ZAM optimization
btest tweaks I overlooked
updates for script optimization
new btests to cover extended functionality & associatd errors
updates to btests to support switch to expression-based initialization
tweaks to base scripts revealed by switch to expression-based initialization
switch variable initialization over to being expression-based
simplification of Val classes now that they don't have to support initialization
factoring and re-working of type merging
use new interface for associating attributes with constructors
rework type inference due to switch from separate initializers to expressions
avoid evaluating calls to determine whether an expression value is ignored
reworking of expressions to unify =/+=/-= with initialization
allow {} expression lists for =/+=/-= RHS
tweak for comparing redundant-but-complex attributes