[Service] Terminate worker more gracefully 91/246991/2
authorDongHyun Song <dh81.song@samsung.com>
Fri, 6 Nov 2020 00:48:12 +0000 (09:48 +0900)
committerDongHyun Song <dh81.song@samsung.com>
Fri, 6 Nov 2020 02:46:36 +0000 (11:46 +0900)
commit480b6888ff5a0e9fd5983788fc4a98d97e32e217
treefa846c456102a75d27f77242dea04c316c207fbb
parentf93dfc53d1b8626d3204c41113d86497b90f7ad3
[Service] Terminate worker more gracefully

process.exit() in node worker will call Worker::Exit(), which stop
the thread asyncronously. So WorkerThreadData is released later
after worker's exit event.

worker.terminate() in main thread will call Worker::StopThread(),
which processes Worker::JoinThread() as well as Worker::Exit().
JoinThread() can defer parent's exit() call after worker's gone.

Change-Id: Iad6bd2d64f158e7d6734500a7ab0623d75ad630f
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
wrt_app/common/service_manager.ts
wrt_app/common/service_runner.ts