Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 9e5f36cd3 -> 9dd862c14


fix TRAFODION-2773


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/9f93e7d5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/9f93e7d5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/9f93e7d5

Branch: refs/heads/master
Commit: 9f93e7d55357c543c035328ca21e9b70959184b6
Parents: 574452e
Author: SuJinpei <[email protected]>
Authored: Thu Oct 19 15:54:38 2017 +0800
Committer: SuJinpei <[email protected]>
Committed: Thu Oct 19 15:54:38 2017 +0800

----------------------------------------------------------------------
 core/conn/odb/src/odb.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9f93e7d5/core/conn/odb/src/odb.c
----------------------------------------------------------------------
diff --git a/core/conn/odb/src/odb.c b/core/conn/odb/src/odb.c
index bf72f1b..da88eec 100755
--- a/core/conn/odb/src/odb.c
+++ b/core/conn/odb/src/odb.c
@@ -4156,18 +4156,17 @@ static void sigcatch(int sig)
     exit ( EX_SIGNAL );
 #else 
     if ( tn == 1 ) { /* single threaded */
-        tclean( 0 );
         gclean();
-        exit( EX_SIGNAL );
     } else {
         for ( i = 0 ; i < tn ; i++ ) {
-            if ( !pthread_kill(thid[i], 0) ) {  /* If this thread is alive... 
*/
+            if ( pthread_kill(thid[i], 0) ) {  /* If this thread is alive... */
                 if ( pthread_cancel(thid[i]) )  /* ... cancel it */
                     fprintf(stderr, "odb [sigcatch(%d)] - Error canceling 
thread %d: [%d] %s\n",
                                     __LINE__, i, errno, strerror(errno) );
             }
         }
     }
+    exit(EX_SIGNAL);
 #endif
 }
 

Reply via email to