[Service] Terminate worker more gracefully 27/247627/1
authorDongHyun Song <dh81.song@samsung.com>
Fri, 6 Nov 2020 00:48:12 +0000 (09:48 +0900)
committerDongHyun Song <dh81.song@samsung.com>
Fri, 13 Nov 2020 02:11:05 +0000 (02:11 +0000)
commit26ba0912aac78eb121373cfe30cd803c96093fd3
tree191afce0257cb5e6036f8d2ba48c2120d32aca72
parent54523c9d69dfe143b4af8f5df3e640b63cff1cbf
[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>
(cherry picked from commit 480b6888ff5a0e9fd5983788fc4a98d97e32e217)
wrt_app/common/service_manager.ts
wrt_app/common/service_runner.ts