Author: abroekhuis
Date: Tue Dec  3 13:38:27 2013
New Revision: 1547387

URL: http://svn.apache.org/r1547387
Log:
Reverted back to thread_detach to fix the shutdown using an interrupt.

Modified:
    incubator/celix/trunk/framework/private/src/framework.c

Modified: incubator/celix/trunk/framework/private/src/framework.c
URL: 
http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/framework.c?rev=1547387&r1=1547386&r2=1547387&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/framework.c (original)
+++ incubator/celix/trunk/framework/private/src/framework.c Tue Dec  3 13:38:27 
2013
@@ -1985,9 +1985,8 @@ static void *APR_THREAD_FUNC framework_s
                fw_log(FW_LOG_ERROR,  "Error unlocking the framework, cannot 
exit clean.");
        }
 
-       apr_thread_exit(thd, APR_SUCCESS);
-
        fw_log(FW_LOG_INFO, "FRAMEWORK: Shutdown done\n");
+       apr_thread_exit(thd, APR_SUCCESS);
 
        return NULL;
 }
@@ -2183,7 +2182,8 @@ celix_status_t bundleActivator_stop(void
 
            fw_log(FW_LOG_INFO, "FRAMEWORK: Start shutdownthread");
            if (apr_thread_create(&shutdownThread, NULL, framework_shutdown, 
framework, framework->mp) == APR_SUCCESS) {
-            apr_thread_join(&status, shutdownThread);
+//            apr_thread_join(&status, shutdownThread);
+            apr_thread_detach(shutdownThread);
            } else {
             fw_log(FW_LOG_ERROR,  "Could not create shutdown thread, normal 
exit not possible.");
                status = CELIX_FRAMEWORK_EXCEPTION;


Reply via email to