diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2013-11-22 16:45:57 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2013-11-22 14:50:15 -0800 |
commit | 5dd45aea0c9c2967d465f53fe707ed536c32ce5b (patch) | |
tree | 20e63ae8878a69f8a9ca4be2cf2e43c3dc2357f4 /.pylintrc | |
parent | b7235b395a270e80bbf9ffadbff3098bd9a7d6de (diff) |
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.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to '.pylintrc')
0 files changed, 0 insertions, 0 deletions