summaryrefslogtreecommitdiff
path: root/src/analysis/disass/disassembler.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-11-26 23:30:01 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-11-26 23:30:01 (GMT)
commit6b1a70c16f83a926f7b1f1fb2af5d6a2e017737b (patch)
tree8ffb0b3d8f3063c612f8cebe4f00a65f8b029a52 /src/analysis/disass/disassembler.c
parenta93a5dca1a7292b7e61ae09b74f3252e04b73488 (diff)
Used several threads without lock to disassemble binary code.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@610 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/disass/disassembler.c')
-rw-r--r--src/analysis/disass/disassembler.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/analysis/disass/disassembler.c b/src/analysis/disass/disassembler.c
index ce49aca..ce2e6ff 100644
--- a/src/analysis/disass/disassembler.c
+++ b/src/analysis/disass/disassembler.c
@@ -190,6 +190,8 @@ static GDelayedDisassembly *g_delayed_disassembly_new(GLoadedBinary *binary, GAr
static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtStatusBar *statusbar)
{
+ wgroup_id_t gid; /* Identifiant pour les tâches */
+
//GBinFormat *format; /* Format du fichier binaire */
GArchProcessor *proc; /* Architecture du binaire */
@@ -208,6 +210,13 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtSta
//GArchProcessor *proc; /* Architecture du binaire */
+
+ gid = g_work_queue_define_work_group(get_work_queue());
+
+
+
+
+
//format = G_BIN_FORMAT(g_loaded_binary_get_format(binary));
proc = g_loaded_binary_get_processor(disass->binary);
@@ -225,7 +234,7 @@ static void g_delayed_disassembly_process(GDelayedDisassembly *disass, GtkExtSta
- *disass->instrs = disassemble_binary_content(disass->binary, statusbar);
+ *disass->instrs = disassemble_binary_content(disass->binary, gid, statusbar);
g_arch_processor_set_disassembled_instructions(proc, *disass->instrs);