From 8e066407e4c75d9c79a0c797b884f7fab22ec6c3 Mon Sep 17 00:00:00 2001 From: Baptiste DURAND Date: Fri, 12 Dec 2014 12:42:24 +0100 Subject: [PATCH] Fix package management notification If the installation backend child process fails, send a notification to the package manager client BUG-Tizen=TC-2127 Change-Id: I68a5b7f1516814b14432639554548aad4c83e873 Signed-off-by: Baptiste DURAND --- server/src/pkgmgr-server.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/server/src/pkgmgr-server.c b/server/src/pkgmgr-server.c index 3b9e343..fdfaeff 100644 --- a/server/src/pkgmgr-server.c +++ b/server/src/pkgmgr-server.c @@ -884,8 +884,13 @@ static void _wait_backend(pid_t pid) __set_backend_free(i); __set_backend_mode(i); __unset_recovery_mode((ptr + i)->pkgid, (ptr + i)->pkgtype); - DBG("clear the status of [%d] nb %d \n", cpid, i); - + ERR(" STATUS = %d \n",(WEXITSTATUS (status))); + if (WEXITSTATUS (status) != 0) { + strncpy(pname, (ptr + i)->pkgid, MAX_PKG_NAME_LEN-1); + strncpy(ptype, (ptr + i)->pkgtype, MAX_PKG_TYPE_LEN-1); + strncpy(args, (ptr + i)->args, MAX_PKG_ARGS_LEN-1); + g_idle_add(send_fail_signal, NULL); + } break; } else @@ -931,8 +936,13 @@ static void sighandler(int signo) __set_backend_free(i); __set_backend_mode(i); __unset_recovery_mode((ptr + i)->pkgid, (ptr + i)->pkgtype); - DBG("clear the status of [%d] nb %d \n", cpid, i); + if (WEXITSTATUS (status) != 0) { + strncpy(pname, (ptr + i)->pkgid, MAX_PKG_NAME_LEN-1); + strncpy(ptype, (ptr + i)->pkgtype, MAX_PKG_TYPE_LEN-1); + strncpy(args, (ptr + i)->args, MAX_PKG_ARGS_LEN-1); + g_idle_add(send_fail_signal, NULL); + } break; } else -- 2.7.4