Revision: 48023
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48023
Author:   moguri
Date:     2012-06-18 05:17:06 +0000 (Mon, 18 Jun 2012)
Log Message:
-----------
Removing the ability to cancel libload threads for now. They were causing 
memory leaks and problems for Android.

Modified Paths:
--------------
    
branches/soc-2012-swiss_cheese/source/gameengine/Converter/KX_BlenderSceneConverter.cpp

Modified: 
branches/soc-2012-swiss_cheese/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
===================================================================
--- 
branches/soc-2012-swiss_cheese/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
     2012-06-18 02:42:44 UTC (rev 48022)
+++ 
branches/soc-2012-swiss_cheese/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
     2012-06-18 05:17:06 UTC (rev 48023)
@@ -144,9 +144,6 @@
        
        vector<pthread_t>::iterator pit = m_threadinfo->threads.begin();
        while (pit != m_threadinfo->threads.end()) {
-#ifndef WITH_ANDROID
-        pthread_cancel((*pit));
-#endif
                pthread_join((*pit), NULL);
                pit++;
        }
@@ -947,48 +944,19 @@
        m_mergequeue.push_back(pair<KX_Scene*,KX_Scene*>(merge_scene, other));
 }
 
-typedef struct {KX_BlenderSceneConverter *converter; KX_Scene **scene; struct 
Main *maggie;} cleanup_args;
-void async_cleanup(void *ptr)
-{
-       cleanup_args *args = (cleanup_args*)ptr;
-       KX_Scene **scene = args->scene;
-       if (*scene)
-       {
-               delete *scene;
-               *scene = NULL;
-       }
-
-       args->converter->FreeBlendFile(args->maggie);
-
-       delete args;
-       printf("Cleanup called\n");
-}
-
-typedef struct {KX_BlenderSceneConverter *converter; KX_KetsjiEngine *engine; 
Scene *scene; struct Main *maggie; KX_Scene *merge_scene;} async_args;
+typedef struct {KX_BlenderSceneConverter *converter; KX_KetsjiEngine *engine; 
Scene *scene; KX_Scene *merge_scene;} async_args;
 void *async_convert(void *ptr)
 {
        int cleanedup=0;
        KX_Scene *new_scene=NULL;
        async_args *args = (async_args*)ptr;
 
-       cleanup_args *cargs = new cleanup_args();
-       cargs->converter = args->converter;
-       cargs->scene = &new_scene;
-       cargs->maggie = args->maggie;
-
-       pthread_cleanup_push(async_cleanup, cargs);
-#ifndef WITH_ANDROID
-    pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
-#endif
        new_scene = args->engine->CreateScene(args->scene);
 
-       pthread_cleanup_pop(cleanedup);
-
        if (new_scene)
                args->converter->AddScenesToMergeQueue(args->merge_scene, 
new_scene);
 
        delete args;
-       delete cargs;
        return NULL;
 }
 
@@ -1123,7 +1091,6 @@
                                args->converter = this;
                                args->engine = m_ketsjiEngine;
                                args->scene = (Scene*)scene;
-                               args->maggie = main_newlib;
                                args->merge_scene = scene_merge;
                                pthread_create(&id, NULL, &async_convert, 
(void*)args);
                                m_threadinfo->threads.push_back(id);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to