Jérémy Zurcher
316dc52d2f
eina_tls: add eina_tls_cb_new(Eina_TLS *key, Eina_TLS_Delete_Cb delete_cb)
...
Summary:
delete_cb is called at thread exit for each Eina_TLS keys used by the thread
Details:
posix:
pthread_key_create(key, delete_cb); does it
win32/wince:
eina_tls_free/new un/registers key&&cb into a static eina_list.
eina_tls_set add the key to an eina_list in Eina_Thread_Win3.
this list is cleared and callbacks are called in _eina_thread_join()
Test Plan: win32/wince has to be tested, I have no setup to do it.
Reviewers: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D489
2014-01-23 14:50:08 +09:00
Carsten Haitzler
f93329d119
Revert "eina: fix CID 1106340: Logically dead code (DEADCODE) reported by coverity."
...
This reverts commit 1c1b48ca64
.
this commit is causing all sorts of hell and crashes, hangs and what
not. like:
Thread 1 (Thread 0x7feb7389e780 (LWP 7149)):
No symbol table info available.
No symbol table info available.
at lib/eina/eina_inlist.c:422
l = 0xf38a50
__FUNCTION__ = "eina_inlist_demote"
#3 0x00007feb6a809867 in
_eina_chained_mempool_alloc_in (
pool=pool@entry=0x8650a0, p=p@entry=0xf38a50)
at modules/eina/mp/chained_pool/eina_chained_mempool.c:197
mem = 0xf3a690
#4 0x00007feb6a809dff in eina_chained_mempool_malloc
(data=0x8650a0,
size=<optimized out>)
at modules/eina/mp/chained_pool/eina_chained_mempool.c:300
pool = 0x8650a0
p = 0xf38a50
mem = <optimized out>
#5 0x00007feb6a7e451f in
eina_mempool_malloc (size=40, mp=<optimized out>)
at lib/eina/eina_inline_mempool.x:103
No locals.
#6 _eina_list_mempool_list_new (list=0x7feb5402a510)
at lib/eina/eina_list.c:199
No locals.
#7 eina_list_append (list=0x7feb5402a510, data=0xf41720)
at lib/eina/eina_list.c:534
l = <optimized out>
__FUNCTION__ = "eina_list_append"
#8 0x0000000000445d1a in
e_bindings_signal_add (ctxt=<optimized out>,
sig=0x947e6c "mouse,clicked,[12]", src=0x92248c "e.event.close",
mod=E_BINDING_MODIFIER_NONE, any_mod=1, action=0x93479c
"window_close",
params=0x0) at e_bindings.c:1036
binding = 0xf41720
#9 0x00000000004469d4 in e_bindings_init () at
e_bindings.c:68
ebs = 0x947df0
ebm = <optimized out>
ebw = <optimized out>
ebe = <optimized out>
ebk = <optimized out>
eba = <optimized out>
l = 0x9532e0
#10
0x0000000000437516 in main (argc=<optimized out>, argv=<optimized out>)
at e_main.c:941
safe_mode = 0 '\000'
after_restart = 1 '\001'
waslocked = 0 '\000'
t = <optimized out>
tstart = <optimized out>
s = <optimized out>
buff =
"1381800872.3", '\000' <repeats 19 times>
action = {__sigaction_handler = {
sa_handler = 0x4fca00 <e_sigabrt_act>,
sa_sigaction = 0x4fca00
<e_sigabrt_act>}, sa_mask = {__val = {
0 <repeats 16 times>}}, sa_flags = -1073741820,
sa_restorer = 0x0}
__FUNCTION__ = "main"
Detaching from program:
/usr/local/bin/enlightenment, process 7149
2013-10-15 10:42:26 +09:00