On Mon, Apr 08, 2013 at 05:22:41PM +0900, FUJITA Tomonori wrote:
> On Mon,  8 Apr 2013 16:39:53 +0900
> Isaku Yamahata <[email protected]> wrote:
> 
> > There is a race between RyuApp instantiation and starting its thread.
> > In order to mitigate a race, split RyuApp initialization into creation of
> 
> To mitigate a race simply leads to disaster. Needs to fix it. Please
> explain the details.

How about the below comment message?

base/app_manager: RyuApp initialization race at startup

There is a race between RyuApp instantiation and starting its thread.
Each RyuApp spawns an event-loop thread which handles events and may
generate events when a RyuApp instance is created.
Currently on startup, necessary RyuApps are created, and event-loop
thread is created at the same time. Then event-piping (which events are
delivered to which RyuApp) is done. This causes missing events if
RyuApp which was create early generates events before finishing event-piping.

To address it, split RyuApp startup into three phases from two phase.
- create RyuApp instances
- event piping
- then, start event-loop threads.
-- 
yamahata

------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to