Commit Graph

1450 Commits

Author SHA1 Message Date
Cedric BAIL 44798b830c eina: build without threads support.
SVN revision: 59467
2011-05-17 10:15:19 +00:00
Vincent Torri 43397834ac Eina_ : eina_file_win32.c : fix returned value of eina_file_shutdown()
SVN revision: 59463
2011-05-17 05:38:29 +00:00
Vincent Torri 495c88aac8 fix eina_prefix.c on Windows (at least a part of it, as elm is not working with it)
SVN revision: 59454
2011-05-16 17:39:20 +00:00
Vincent Torri eebeebb147 fix eina_inline_lock_void.x
SVN revision: 59453
2011-05-16 17:37:51 +00:00
Vincent Torri d809170ea9 Eina: eina_lock: fix eina_lock on Windows
SVN revision: 59395
2011-05-15 10:55:07 +00:00
Vincent Torri 4a6a5bd213 i'm not cedric
SVN revision: 59392
2011-05-14 21:23:03 +00:00
Vincent Torri 65892e65b7 Eina : eina_lock : make it compile on Windows
SVN revision: 59391
2011-05-14 21:19:36 +00:00
Boris Faure 021819f4f9 eina: improve hash documentation on free_cb
SVN revision: 59383
2011-05-14 14:39:25 +00:00
Cedric BAIL 31e53c82bf eina: always put map in memory when requested and use HUGETLB when available.
SVN revision: 59366
2011-05-13 10:44:29 +00:00
Cedric BAIL 0351269adc eina: check condition is still alive when debugging threads.
SVN revision: 59299
2011-05-09 14:41:39 +00:00
Cedric BAIL 9e20be0766 eina: have same behaviour on windows and linux.
SVN revision: 59297
2011-05-09 13:12:36 +00:00
Cedric BAIL 5f820ce976 eina: oops, need to protect inside #ifdef.
SVN revision: 59295
2011-05-09 13:06:03 +00:00
Cedric BAIL c73f0f9cf5 eina: improve lock debugging.
SVN revision: 59293
2011-05-09 12:54:47 +00:00
Cedric BAIL d2b65a51d0 eina: more check.
SVN revision: 59289
2011-05-09 10:42:42 +00:00
Cedric BAIL d20144bc9f eina: add Eina_Condition.
SVN revision: 59287
2011-05-09 10:32:56 +00:00
Cedric BAIL 83c3a1a0fb eina: check pending lock at the right time.
SVN revision: 59286
2011-05-09 10:29:55 +00:00
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 6acc7bce24 fix date
SVN revision: 58861
2011-04-24 09:14:12 +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 d576cdc68a chlog++
SVN revision: 58849
2011-04-24 07:35:52 +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
Cedric BAIL cb90b07d81 autogen: unobrk things.
SVN revision: 58668
2011-04-14 14:51:36 +00:00
Cedric BAIL e342a8b94b eina: improve autoconf cache usage.
SVN revision: 58655
2011-04-14 09:40:47 +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
Mike Blumenkrantz 391ed4d617 fix input check
SVN revision: 58647
2011-04-14 01:04:54 +00:00
Carsten Haitzler cd1c9be1f9 errrr.. how about we DONT make every eina using app spew out:
ERR<23281>:eina eina_main.c:173 _eina_shutdown_from_desc() Problems
shutting down eina module 'file', ignored.

now there's a bright idea eh?



SVN revision: 58645
2011-04-13 21:50:23 +00:00
Vincent Torri a303d5add7 fix win32 build
SVN revision: 58642
2011-04-13 17:51:00 +00:00
Vincent Torri 3d26976ef8 move doxy tag
SVN revision: 58641
2011-04-13 17:03:24 +00:00
Vincent Torri 4ae466a30c put __UNUSED__ where we usually put it : after the parameter name
SVN revision: 58638
2011-04-13 16:29:29 +00:00
Cedric BAIL 8a8153bf2d eina: add Eina_File API.
NOTE: the purpose of this API is to replace mmap user in the
EFL, share cache and more code across them. The potential user
are eet, evas, efreet, eio and enlil. More patch are needed for
them to use this infra. Help welcome :-)

NOTE2: this API also need more test and is waiting for some
more pthread infra before being thread safe. But at the end
it will be thread safe if eina thread safety is requested.


SVN revision: 58637
2011-04-13 16:15:30 +00:00
Daniel Juyung Seo 7c80267fd1 Eina eina_list.c: Fixed formatting.
SVN revision: 58614
2011-04-13 07:46:28 +00:00
Mike Blumenkrantz 255f625ff1 class is a reserved word. SPANK SPANK SPANK cedric!!!
SVN revision: 58613
2011-04-13 03:08:58 +00:00
Carsten Haitzler 0a9e561d91 dont need empty dir.
SVN revision: 58611
2011-04-12 23:48:40 +00:00
Mike Blumenkrantz d422c0a88e add bench for google's cityhash function (64bit, http://code.google.com/p/cityhash/)
convenient graph of output can be found at http://www.enlightenment.org/~discomfitor/hash_bench.png


SVN revision: 58610
2011-04-12 23:12:52 +00:00
Cedric BAIL c443dd97fd eina: fix 64bits warning.
SVN revision: 58583
2011-04-12 09:00:45 +00:00
Cedric BAIL d7800c23e3 eina: alloc ABI2 to reduce risk for futur ABI change.
SVN revision: 58582
2011-04-12 08:52:59 +00:00
Cedric BAIL 5165613666 eina: fix amalgamation build.
SVN revision: 58569
2011-04-11 21:16:20 +00:00
Cedric BAIL 8b276b36c7 eina: add Eina_Object API.
This API is what could be used by all EFL library for their exposed
type (Evas_Object, Ecore_Timer, Ecore_Animator, Eio_File, ...). The
purpose of Eina_Object is to provide an "obscure" pointer that is
infact an ID with a generation count that will never be dereferenced
directly.
   This provide the benefit of always accessing a living object
with 1/256 chance to being the expected generation of it, that will
always be of the right type.
   It also provide asynchronous repacking ability (still highly
inefficient, but not really hard to improve), simple inheritance
with constructor/destructor and link between object.

All this implementation is highly open for comment, idea, review,
fix and change. I didn't got the time to write a sample test right
now. Maybe will come tomorrow. Same for docs.



SVN revision: 58562
2011-04-11 18:00:34 +00:00
Cedric BAIL 6ffb3b8d9f eina: restore ABI compatibility.
NOTE: if you did update the EFL during the last 3 hours, you will need to 
      recompile them all at once.


SVN revision: 58561
2011-04-11 17:45:01 +00:00
Cedric BAIL 90801855db eina: prevent NULL offsetting.
SVN revision: 58560
2011-04-11 17:28:16 +00:00
Cedric BAIL 29639eea35 eina: add eina_mempool_repack.
WARNING: HIGHLY UNTESTED PIECE OF CODE ! USE IT AT YOUR OWN RISK !


SVN revision: 58554
2011-04-11 14:07:42 +00:00
Cedric BAIL ca83ca2ff4 eina: add eina_inlist_sort (merge sort based on eina_list code).
SVN revision: 58540
2011-04-11 09:55:27 +00:00
Carsten Haitzler 8945479719 doxy -> .h
SVN revision: 58450
2011-04-07 13:17:25 +00:00
Carsten Haitzler d2b654d777 doxy->h
SVN revision: 58448
2011-04-07 13:15:31 +00:00
Carsten Haitzler 703b835643 doxy -> .h
SVN revision: 58445
2011-04-07 13:13:11 +00:00
Carsten Haitzler c46642cb97 doxy -> .h
SVN revision: 58444
2011-04-07 13:11:27 +00:00
Carsten Haitzler 1c640c7704 more doxy -> .h
SVN revision: 58443
2011-04-07 13:08:48 +00:00
Carsten Haitzler 14478ee124 doxy -> .h
SVN revision: 58442
2011-04-07 13:05:05 +00:00
Carsten Haitzler 4bbfbb6b33 doxy -> .h
SVN revision: 58440
2011-04-07 13:01:48 +00:00
Carsten Haitzler ca4fa3936a doxy -> .h
SVN revision: 58439
2011-04-07 13:00:10 +00:00
Carsten Haitzler 99167100db doxy
SVN revision: 58438
2011-04-07 12:58:21 +00:00
Carsten Haitzler 11ed8ad05f more dox -> .h
SVN revision: 58437
2011-04-07 12:57:44 +00:00
Carsten Haitzler 046360b50b more doxy -> .h
SVN revision: 58436
2011-04-07 12:45:51 +00:00
Carsten Haitzler 6e21633ccd doxy -> .h
SVN revision: 58435
2011-04-07 12:44:02 +00:00