[Xorp-cvs] XORP cvs commit: xorp/rib
Marko Zec
zec at icir.org
Thu Jun 22 10:02:46 PDT 2006
CVSROOT: /usr/local/share/doc/apache/cvs
Module name: xorp
Changes by: zec at xorpc.icir.org 2006-06-22 17:02:46 UTC
XORP CVS repository
Modified files:
rib redist_xrl.cc redist_xrl.hh
Log message:
Bugfix: RedistXrlOutput<A>::task_completed() was trying to start
dequeuing XRL requests even if the request queue was empty, which
was triggering an assert at the beginning of
RedistXrlOutput<A>::start_next_task()
It seems that it is possible for the XRL router to occassionaly fail
to accept a new request even if there are no other XRLs in flight.
This was observed through an assert in the
RedistXrlOutput<A>::start_next_task() dequeuing loop being triggered
several times on pal. As a temporary measure this assert is now
converted to a warning: we need to understand better when and why
exactly the dispatching of XRL requests can occasionaly fail.
Moreover, if the dispatch fails with no requests in flight (and thus
no callbacks pending which could later resume the dequeuing), a
synthetic pause is generated which will attempt to retry dispatching
the original request after 10 ms.
Bug found by: Atanu
Revision Changes Path
1.27 +60 -25; commitid: 7196449acb427ea6; xorp/rib/redist_xrl.cc
1.12 +2 -5; commitid: 7196449acb427ea6; xorp/rib/redist_xrl.hh
More information about the Xorp-cvs
mailing list