[gnome-builder] Use GModule API instead of dlopen()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] Use GModule API instead of dlopen()
- Date: Fri, 15 Jan 2016 19:09:59 +0000 (UTC)
commit fa6629e6c90b2d80870681433fb31b348fa747f8
Author: Garrett Regier <garrettregier gmail com>
Date: Tue Jan 12 07:36:27 2016 -0800
Use GModule API instead of dlopen()
https://bugzilla.gnome.org/show_bug.cgi?id=760355
configure.ac | 3 ++-
contrib/egg/egg-counter.c | 14 ++++++--------
2 files changed, 8 insertions(+), 9 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 16db336..2cc0adb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -162,6 +162,7 @@ m4_define([pangoft2_required_version], [1.38.0])
m4_define([peas_required_version], [1.17.0])
PKG_CHECK_MODULES(EGG, [glib-2.0 >= glib_required_version
+ gmodule-2.0 >= glib_required_version
gtk+-3.0 >= gtk_required_version])
PKG_CHECK_MODULES(GD, [gtk+-3.0 >= gtk_required_version])
PKG_CHECK_MODULES(GEDIT, [glib-2.0 >= glib_required_version
@@ -170,7 +171,7 @@ PKG_CHECK_MODULES(ICONS, [gio-2.0 >= glib_required_version])
PKG_CHECK_MODULES(LIBGITG, [libgit2-glib-1.0 >= ggit_required_version])
PKG_CHECK_MODULES(LIBIDE, [gio-2.0 >= glib_required_version
gio-unix-2.0 >= glib_required_version
- gtk+-3.0 >= gtk_required_version
+ gtk+-3.0 >= gtk_required_version
gtksourceview-3.0 >= gtksourceview_required_version
libgit2-glib-1.0 >= ggit_required_version
libpeas-1.0 >= peas_required_version
diff --git a/contrib/egg/egg-counter.c b/contrib/egg/egg-counter.c
index 6391e43..cda05d4 100644
--- a/contrib/egg/egg-counter.c
+++ b/contrib/egg/egg-counter.c
@@ -24,10 +24,8 @@
# define _GNU_SOURCE
#endif
-#ifdef __linux__
-# include <dlfcn.h>
-#endif
#include <glib/gprintf.h>
+#include <gmodule.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
@@ -538,25 +536,25 @@ _egg_counter_find_getcpu_in_vdso (void)
for (i = 0; vdso_names [i]; i++)
{
- void *lib;
+ GModule *lib;
gint j;
- lib = dlopen (vdso_names [i], RTLD_NOW | RTLD_GLOBAL);
+ lib = g_module_open (vdso_names [i], 0);
if (lib == NULL)
continue;
for (j = 0; sym_names [j]; j++)
{
- void *sym;
+ void *sym = NULL;
- sym = dlsym (lib, sym_names [j]);
+ g_module_symbol (lib, sym_names [j], &sym);
if (!sym)
continue;
return sym;
}
- dlclose (lib);
+ g_module_close (lib);
}
return NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]