diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-10-09 11:57:58 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-10-09 11:57:58 (GMT) |
commit | 0b6e87de0d4313f8ef31907bc48ce4d7f7749738 (patch) | |
tree | f268e98efa733379b275d8834864f13cff6fa9ac /src/format/dex/dex.c | |
parent | 3628caa2311ee89ad0d2a0aa2438d7e85b497da4 (diff) |
Loaded all Dex pool items using several threads.
Diffstat (limited to 'src/format/dex/dex.c')
-rwxr-xr-x | src/format/dex/dex.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/format/dex/dex.c b/src/format/dex/dex.c index 582390a..d02111c 100755 --- a/src/format/dex/dex.c +++ b/src/format/dex/dex.c @@ -248,6 +248,7 @@ GBinFormat *g_dex_format_new(GBinContent *content, GExeFormat *parent, GtkStatus GDexFormat *result; /* Structure à retourner */ GBinFormat *base; /* Version basique du format */ vmpa2t pos; /* Position de tête de lecture */ + wgroup_id_t gid; /* Identifiant pour les tâches */ result = g_object_new(G_TYPE_DEX_FORMAT, NULL); @@ -265,13 +266,15 @@ GBinFormat *g_dex_format_new(GBinContent *content, GExeFormat *parent, GtkStatus /* TODO : vérifier que les *_id ne se chevauchent pas */ - if (!load_all_dex_types(result, status)) + gid = g_work_queue_define_work_group(get_work_queue()); + + if (!load_all_dex_types(result, gid, status)) goto gdfn_error; - if (!load_all_dex_fields(result, status)) + if (!load_all_dex_fields(result, gid, status)) goto gdfn_error; - if (!load_all_dex_classes(result, status)) + if (!load_all_dex_classes(result, gid, status)) goto gdfn_error; if (!g_binary_format_complete_loading(base, status)) |