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
