Ack. Thanks, Praveen
On 05-Jul-17 2:49 PM, Minh Chau wrote:
ntfd can sometimes receive SIG_TERM in stopping opensafd even surveillance thread and ntfimcnd have not been started. The patch prevents to stop surveillance thread and ntfimcnd in such case. --- src/ntf/ntfd/ntfs_imcnutil.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/ntf/ntfd/ntfs_imcnutil.c b/src/ntf/ntfd/ntfs_imcnutil.c index cc257703b..00c2c0039 100644 --- a/src/ntf/ntfd/ntfs_imcnutil.c +++ b/src/ntf/ntfd/ntfs_imcnutil.c @@ -48,7 +48,7 @@ typedef struct { bool ntfimcn_on; } init_params_t;-static init_params_t ipar;+static init_params_t ipar = {0, 0, 0, false}; pthread_mutex_t ntfimcn_mutex;/**@@ -357,13 +357,12 @@ int stop_ntfimcn(void) int rc = 0; TRACE_ENTER();+ if (ipar.ntfimcn_on == false) goto done;/* Kill ntfimcn */ osaf_mutex_lock_ordie(&ntfimcn_mutex); - if (ipar.ntfimcn_on == true) { - ipar.ntfimcn_on = false; - TRACE("%s: Terminating osafntfimcnd process", __FUNCTION__); - timedwait_imcn_exit(); - } + ipar.ntfimcn_on = false; + TRACE("%s: Terminating osafntfimcnd process", __FUNCTION__); + timedwait_imcn_exit(); osaf_mutex_unlock_ordie(&ntfimcn_mutex);/* Cancel the surveillance thread */@@ -377,7 +376,7 @@ int stop_ntfimcn(void) rc = pthread_mutex_destroy(&ntfimcn_mutex); if (rc != 0) osaf_abort(rc); - +done: TRACE_LEAVE(); return rc; }
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
