Commit Graph

1166 Commits

Author SHA1 Message Date
Cedric BAIL 8820713691 eina: remove flood of debugging information.
SVN revision: 59234
2011-05-06 09:16:40 +00:00
Cedric BAIL b4f8d80b02 eina: remove useless lock.
SVN revision: 59233
2011-05-06 09:07:26 +00:00
Cedric BAIL 25550183e0 eina: improve on/off and debugging lock.
Now if a lock is still taken when shutdown occur, you will know
where it come from !


SVN revision: 59191
2011-05-04 13:53:22 +00:00
Tom Hacohen 4a11dacf16 Eina lock: unused warning suppression is done with (void).
Not only that it's uglier doing mutex=0, but also new gcc started
complainig about it.

SVN revision: 59137
2011-05-02 18:19:41 +00:00
Cedric BAIL fdc092efe1 eina: forgotten commit.
SVN revision: 59125
2011-05-02 13:52:34 +00:00
Cedric BAIL 5c2d05374c eina: use the right naming.
SVN revision: 59124
2011-05-02 13:51:20 +00:00
Cedric BAIL 691da73b84 eina: add back threads on/off support.
NOTE: only use it if you know what you are doing !


SVN revision: 59123
2011-05-02 13:40:28 +00:00
Cedric BAIL e5402b2eb2 eina: forgotten initialization.
SVN revision: 59121
2011-05-02 13:09:38 +00:00
Cedric BAIL 9140383045 eina: improve thread debugging and portability.
All thread debugging facility, including lock debug, on by turning --enable-debug-threads
at configure time of eina.

When threads check are disable, make sure that all lock/release are called
from the main loop only. And in all case, eina_lock_new/eina_lock_delete should be
called from the main loop.

Remove static initialization as it is not portable under Windows.



SVN revision: 59118
2011-05-02 11:25:35 +00:00
Cedric BAIL a345a670b2 eina: make sure eina_threads_init/eina_threads_shutdown are correctly called.
SVN revision: 59117
2011-05-02 11:20:00 +00:00
Carsten Haitzler 5061598e12 also return deadlock from normal lock (not try only)
SVN revision: 59103
2011-05-02 08:34:22 +00:00
Carsten Haitzler 651cff4602 formalise eina lock results to be equivalent to true/false with added
deadlock for try.



SVN revision: 59101
2011-05-02 08:24:06 +00:00
Vincent Torri 65e50307a0 time.h should be sufficient
SVN revision: 59096
2011-05-02 07:04:24 +00:00
Vincent Torri 604c4b993a Eina: eina_file.h: fix compilation on Mac Os X
define time_t on Mac OS X. Patch by Dave Ray.


SVN revision: 59095
2011-05-02 05:52:31 +00:00
Carsten Haitzler 234f0a4659 oh dear. this new eina_lock thing is a bit of a mess isn't it now?
some fundamental errors there. don't go replacing pthread locks with
wrappers unless you know full well what u are doing. havnig threads
only work while "threads are initted" and then init/shtudown the thread
thing every time u spawn a thread.. is pretty silly. what if a thread
ends in the background WHILE u have a lock.. u try unlock.. u know
what ? your unlock DOES nothing. so you retain a lock. next time u
want to lock once a thread is around.. u have a deadlock issue.

even better - the checking if threads are initted and up is not
locked, so it can come up while it is being checked. more race
conditions. u need to clokc the init/shutdown AND lock the checking of
the value... and even then u STILl have problem #1 above. so that code
is now gone.

also trylock trturn inverse logic to the original pthread func and the
macros in evas that used it were not changed accordingly! aaagh!

i've also added backtrace debug ability to eina threads if compiled in
- u can get a bt of who last locked something. i had to do this just to
begin to grasp what on earth was going on. it's off by default.
also... the locks are error check locks to trylock can detect
deadlocks. speacil "2" return for now. better than a poke in the eye
with a sharp stick until we decide what to do. for now i hopew i have
killed this thread lock bug.




SVN revision: 59085
2011-05-01 13:24:08 +00:00
Boris Faure a96931a66b eina: fix #elif usage
SVN revision: 59044
2011-04-29 19:08:03 +00:00
Boris Faure 64f1cee555 eina: remove redundant declaration
SVN revision: 59043
2011-04-29 19:07:46 +00:00
Tom Hacohen 00c53f261b Eina refcount: Wrap EINA_REFCOUNT_UNREF with do {} while(0).
SVN revision: 59042
2011-04-29 18:54:29 +00:00
Cedric BAIL f97a64ca03 eina: Add refcounting macro helper.
SVN revision: 59038
2011-04-29 16:09:07 +00:00
Vincent Torri 0e6b42e9b1 Eina: eina_object : more use of eina_lock
SVN revision: 58980
2011-04-27 19:44:57 +00:00
Vincent Torri a288cd7af1 Eina: Fix static build of the buddy mempool
SVN revision: 58974
2011-04-27 17:00:36 +00:00
Vincent Torri 95fc9bf64f formatting: alphabetical order
SVN revision: 58973
2011-04-27 16:58:23 +00:00
Vincent Torri 4f484b58f5 do not enter the modules dir if they are not built
SVN revision: 58971
2011-04-27 16:15:41 +00:00
Vincent Torri f30f757ebc remove shadow var
SVN revision: 58966
2011-04-27 15:50:12 +00:00
Vincent Torri febfcd253d Eina: eina_lock : fix compilation on Windows. eina_object.c must be fixed too.
SVN revision: 58920
2011-04-26 06:55:17 +00:00
Cedric BAIL 6692daabc3 eina: fix eina_lock on windows.
SVN revision: 58893
2011-04-25 08:48:20 +00:00
Carsten Haitzler 3090b681a8 lets compile again shall we?
SVN revision: 58883
2011-04-25 02:30:42 +00:00
Cedric BAIL cf902d9275 eina: move eina_object to use eina_lock too.
SVN revision: 58876
2011-04-24 20:22:50 +00:00
Cedric BAIL 3abc9015d4 eina: put global into namespace and add lock abort
SVN revision: 58875
2011-04-24 20:22:17 +00:00
Cedric BAIL bd1337f4cd eina: fix api to actually work as expected.
SVN revision: 58871
2011-04-24 16:49:48 +00:00
Cedric BAIL f7d9487aff eina: starting to use eina_lock.
SVN revision: 58869
2011-04-24 15:54:09 +00:00
Carsten Haitzler 3191185792 fix bug when dladdr doesnt return full path. odd that it doesnt.
SVN revision: 58865
2011-04-24 09:53:00 +00:00
Carsten Haitzler df9d051095 make docs right
SVN revision: 58862
2011-04-24 09:32:16 +00:00
Vincent Torri 694a364ced Eina: Fix uninstallation of the mempools modules
SVN revision: 58859
2011-04-24 09:11:11 +00:00
Vincent Torri a17425080f whitespaces--
SVN revision: 58858
2011-04-24 08:37:52 +00:00
Carsten Haitzler ebe846c0f5 make sure eina_prefix is marked since 1.1.0
SVN revision: 58857
2011-04-24 08:30:12 +00:00
Vincent Torri e521dfb65b remove useless headers
SVN revision: 58854
2011-04-24 08:12:00 +00:00
Vincent Torri 4287e530db on Windows, the path separator in PATH env var is a semicolon, not a colon
SVN revision: 58852
2011-04-24 07:57:16 +00:00
Vincent Torri 359c52c48d whitespace cleanup and a bit of formatting
SVN revision: 58851
2011-04-24 07:49:43 +00:00
Carsten Haitzler d0ebc2d804 put a general prefix finder in eina.
SVN revision: 58848
2011-04-24 07:35:30 +00:00
Vincent Torri 6e8d19b150 Eina: Add Eina_Lock API
Eina_Lock API is a small set of functions to manage in a
cross platform way mutual exclusion objects



SVN revision: 58835
2011-04-22 21:26:36 +00:00
Vincent Torri 02ee0d1ee6 Eina: eina_object: Fix integer size on Windows 64 bits
* use unsigned __int64 on Windows 64 bits
 * use unsigned modifier 'u' to print objects id


SVN revision: 58820
2011-04-22 05:36:44 +00:00
Carsten Haitzler 3b167a62f5 populate optional.
SVN revision: 58792
2011-04-21 11:54:16 +00:00
Vincent Torri c87ae61fb8 Eina: eina_file: port API to Windows
Currently, that code can potentially fail on Windows 64 bits
as long is of size 32 bits and not 64 bits. All the file length
and offset must be changed to something that fit the arch, like size_t,
or use always uint64_t


SVN revision: 58680
2011-04-15 07:03:17 +00:00
Mike Blumenkrantz 8547ebf47f fix error_find to actually return the Eina_Error instead of just i
SVN revision: 58679
2011-04-15 00:41:01 +00:00
Mike Blumenkrantz b1088dc204 fix input check for list_move, add ESNV for error
SVN revision: 58670
2011-04-14 18:21:40 +00:00
Mike Blumenkrantz cc1d028aee unrevert. this is not a mistake.
SVN revision: 58654
2011-04-14 07:42:04 +00:00
Vincent Torri f4670f64bf revert. The check is already done by EINA_MAGIC_CHECK, called by EINA_MAGIC_CHECK_LIST
SVN revision: 58650
2011-04-14 06:56:10 +00:00
Vincent Torri 2816a9b59d Eina: eina_file.c: use fcntl instead of O_CLOEXEC
SVN revision: 58649
2011-04-14 05:52:24 +00:00
Vincent Torri 644bf855f4 Eina: eina_file.c replace ACCESSPERMS, which is not protable, by its value
SVN revision: 58648
2011-04-14 05:39:09 +00:00