Commit Graph

10 Commits

Author SHA1 Message Date
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 3a1d560c0c eina lock posix - remove dead code in eina_spinlock_take
this solves CID 1106340
2014-01-10 16:58:39 +09:00
Cedric Bail 319766f837 eina: fix support for system requiring _XOPEN_SOURCE to use spinlock and barrier. 2014-01-04 11:25:19 +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
Cedric BAIL 1c1b48ca64 eina: fix CID 1106340: Logically dead code (DEADCODE) reported by coverity. 2013-10-14 13:32:46 +02:00
Cedric Bail 68a4e85483 eina: that stuff was just for adding a bug in fact. 2013-10-11 17:30:35 +09:00
Cedric Bail 1b07350a46 eina: add Eina_Spinlock API. 2013-10-11 11:08:17 +09:00
Carsten Haitzler 42a59387a6 add eina barrier to efl tree.
SVN revision: 78100
2012-10-17 03:55:35 +00:00
Vincent Torri 1c96844922 Eina: backport rev. 77445
SVN revision: 77446
2012-10-04 17:16:18 +00:00
Carsten Haitzler 0a5ba96837 move eina headers into lib/eina like the rest of efl - at least be
consistent with the majority.



SVN revision: 77119
2012-09-27 04:02:37 +00:00