From: Jörn Magens Date: Fri, 12 Mar 2010 14:50:13 +0000 (+0100) Subject: Fix use of memory profiler in multithreaded applications X-Git-Tag: 0.8.0~210 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67e44ed8b41fd9e95d17d2c6f4e54a95101f828c;p=thirdparty%2Fvala.git Fix use of memory profiler in multithreaded applications Fixes bug 607973. --- diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala index f7b30ae47..10dd7d289 100644 --- a/codegen/valaccodemethodmodule.vala +++ b/codegen/valaccodemethodmodule.vala @@ -755,13 +755,6 @@ internal class Vala.CCodeMethodModule : CCodeStructModule { var main_block = new CCodeBlock (); if (context.profile == Profile.GOBJECT) { - if (context.thread) { - var thread_init_call = new CCodeFunctionCall (new CCodeIdentifier ("g_thread_init")); - thread_init_call.line = cmain.line; - thread_init_call.add_argument (new CCodeConstant ("NULL")); - main_block.add_statement (new CCodeExpressionStatement (thread_init_call)); - } - if (context.mem_profiler) { var mem_profiler_init_call = new CCodeFunctionCall (new CCodeIdentifier ("g_mem_set_vtable")); mem_profiler_init_call.line = cmain.line; @@ -769,6 +762,13 @@ internal class Vala.CCodeMethodModule : CCodeStructModule { main_block.add_statement (new CCodeExpressionStatement (mem_profiler_init_call)); } + if (context.thread) { + var thread_init_call = new CCodeFunctionCall (new CCodeIdentifier ("g_thread_init")); + thread_init_call.line = cmain.line; + thread_init_call.add_argument (new CCodeConstant ("NULL")); + main_block.add_statement (new CCodeExpressionStatement (thread_init_call)); + } + var type_init_call = new CCodeExpressionStatement (new CCodeFunctionCall (new CCodeIdentifier ("g_type_init"))); type_init_call.line = cmain.line; main_block.add_statement (type_init_call);