Commit Graph

23 Commits

Author SHA1 Message Date
Vincent Torri 47ed848a87 Evil: integrate the dlfcn code into Evil
This will remove some incompatibilities with other packages,
especially for win-builds
2015-12-29 22:13:58 +09:00
Vincent Torri 743e6a1a24 eina: use new eina_file_path_join API
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-21 17:10:39 +02:00
Jean-Philippe Andre c7e0c1b340 eina_module: Raise dlopen() error messages to WRN when file exists
Failing to load a module that does not exist is indeed not an error,
but failing to load a module that exists on disk happened probably
because of an error like "symbol not found".

Considering eina_module is most likely used by EFL itself, I believe
an internal linking failure is a warning worth reporting.
2015-07-16 19:50:38 +09:00
Carsten Haitzler 0f4d1d6186 eina module - it is not an error to ERR log to not load a .so
it is not an error. eina_module may be used on files that don't exist
and the caller may handle that as a "does not exist" error. it is not
good to go spewing out errors for this. it's debug at best.

@fix
2015-06-25 13:15:31 +09:00
Mike Blumenkrantz e5eed1b7c3 eina: change module init error message to an info message
a module deciding to return false is a valid non-error case for many modules.
the module can print an error if an error occurs
2015-05-22 13:21:52 -04:00
Youngbok Shin b9cd26c906 eina: print error message when eina_module_load() fails.
Summary:
When dlopen() fails, eina_module_load() print error information using dlerror().
But, it is printed with WRN. If EINA_LOG_LEVEL is lower than WRN,
application developer is hard to see which has a problem.

Reviewers: woohyun, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2536

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-19 14:17:00 +02:00
Shinwoo Kim 448cd69ab7 eina : check whether the file exists or not, before memory allocation of Eina_Module
Summary:
Please refer to https://phab.enlightenment.org/D1200

Reviewers: raster, jpeg, zmike, cedric

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1334
2014-09-30 16:46:52 +02:00
Cedric BAIL 3fbe90ae53 eina: rename to eina_module_symbol_global_set
As discussed on the ML, eina_module_global_set should become eina_module_symbol_global_set.
2014-08-11 14:52:51 +02:00
Mike Blumenkrantz 6817717ee4 Revert "eina: Eina_Module - check whether the file exists or not, before memory allocation of Eina_Module"
This reverts commit 971589bf56.

this completely breaks existing eina_module usage. elm_test->image remote
2014-07-27 18:53:20 -04:00
Shinwoo Kim 971589bf56 eina: Eina_Module - check whether the file exists or not, before memory allocation of Eina_Module
Summary:
I got an issue from emotion_basic_example, because my machine has following directories.

/usr/local/lib/emotion/modules/
├── gstreamer
│   ├── linux-gnu-i686-1.7.99
│   ├── linux-gnu-i686-1.8.0
│   └── linux-gnu-i686-1.8.99
└── gstreamer1
    ├── linux-gnu-i686-1.8.99
    └── v-1.10

The defined MODULE_ARCH is v-1.10, and the _emotion_modules which is returned by eina_module_arch_list_get(); has two items.
Because eina_module_new(); creates Eina_Module, even though the "/usr/local/lib/emotion/modules/gstreamer/v-1.10/module.so"
does not exist.

Test Plan: Create directory without MODULE_ARCH, run emotion_basic_example, and check whether it works properly or not.

Reviewers: raster, seoz, Hermet, woohyun, jpeg, cedric

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1200

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-21 19:33:27 +02:00
Carsten Haitzler 7a7d3be140 eina - fix eina-module warning with global + stop using gcc extn for file 2014-07-18 08:05:25 +09:00
Cedric BAIL 8062d5d7e9 eina: make it possible to load module symbol into the global namespace. 2014-07-11 15:32:51 +02:00
Carsten Haitzler e8c13118eb fix mingw build for setuid fix/checks 2014-01-08 22:06:41 +09:00
Carsten Haitzler b95ef3801f setuid safeness - ensure if an app that is setuid doesn't do bad things
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
2014-01-08 19:46:23 +09:00
Carsten Haitzler 73f91eb689 oops - and a printf crept in. i thought i was done. 2013-12-27 17:18:46 +09:00
Carsten Haitzler c8630c85a1 emotion - broken module loading loagic fixed that fixes gst 0.10/1 deadlock
so firstly the module loading logic in emotion is pretty bad. it
forcible loads into memory (dlopen + run code from) EVERY emotion
module whenever you use emotion anywhere. this is a fat memory cost and
startup cost. it should not ever have done this. so remove that code
and make it explicitly load only the backend requested and fall back
to using what is compiled in (generic by default) and otherwise
generic as a module, then xine, then gstreamer then gstreamer1.
gstreamer1 seems broke - all i see is a black box (no video).

this also fixes a deadlock problem. if you have BOTH gstreamer AND
gstreamer1 modules loaded i get a deadlock inside glib. this seemingly
fixes it as it'll only load the first one it finds, not both (unless
explicitly requested).
2013-12-27 17:18:01 +09:00
Carsten Haitzler 69e27abdc3 eina - and e3fl in general - stop using eina_error_get/set - useless really 2013-10-11 16:50:40 +09:00
Carsten Haitzler fb3159c48e eina module - minor addition ot allowing lazy loading if env var set 2013-08-08 20:18:08 +09:00
Sebastian Dransfeld 068f1ddc62 efl: formatting 2013-06-20 13:08:36 +02:00
Lucas De Marchi 4af2647d05 efl: remove check for libgen.h
SVN revision: 82582
2013-01-10 20:25:48 +00:00
Gustavo Sverzut Barbieri 0a2d116119 efl: eina_alloca.h to simplify alloca() usage.
having to replicate 18 lines per file just to access alloca() is
insane. Let's do that in Eina.h and avoid that crap :-/



SVN revision: 82082
2013-01-03 15:10:34 +00:00
Gustavo Sverzut Barbieri 3cf32cca3f efl: 'fix' support for exotic library.
it's still not merged into EFL single tree, but once it is we should
use "HAVE_EXOTIC" define to work with it.

Before we had: EINA_HAVE_EXOTIC (not used), HAVE_EXOTIC_H (used by
eina_module.c). Since the other libs are all defined as HAVE_LIBNAME,
we're using HAVE_EXOTIC everywhere now.



SVN revision: 77816
2012-10-10 21:24:22 +00:00
Vincent Torri 785f2a6b3a merge : add eina
currently, examples, tests and benchmark are not set. That's the next things i'll do


SVN revision: 76710
2012-09-16 10:57:48 +00:00