From d1b090e4819f7fc7744aa141b0c182a88c650e36 Mon Sep 17 00:00:00 2001 From: Tomasz Olszak Date: Thu, 3 Sep 2015 16:13:53 +0200 Subject: [PATCH] Fixed issue: bus-launcher didn't start screen-reader after reader crash. Change-Id: Ic19ae2b029a4bae79e1cd1cb7300f5d59acf5722 --- bus/at-spi-bus-launcher.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bus/at-spi-bus-launcher.c b/bus/at-spi-bus-launcher.c index b6f7f01..73c8a73 100644 --- a/bus/at-spi-bus-launcher.c +++ b/bus/at-spi-bus-launcher.c @@ -705,6 +705,15 @@ void screen_reader_cb(keynode_t *node, void *user_data) if (ret < 0) return; + //check if process really exists (e.g didn't crash) + if (bl->pid > 0) + { + int err = kill(bl->pid,0); + //process doesn't exist + if (err == ESRCH) + bl->pid = 0; + } + bl->screen_reader_needed = ret; LOGD("bl->screen_reader_needed: %i, bl->pid: %i", ret, bl->pid); if (!bl->screen_reader_needed && (bl->pid > 0)) -- 2.7.4