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
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
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
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
Carsten Haitzler
57dbcaaaa2
more doxy -> .h
...
SVN revision: 58434
2011-04-07 12:38:55 +00:00
Carsten Haitzler
99c6a32a15
more doxy to .h
...
SVN revision: 58432
2011-04-07 12:31:57 +00:00
Carsten Haitzler
b8b576afa9
more doxy -> .h
...
SVN revision: 58430
2011-04-07 12:26:24 +00:00
Carsten Haitzler
807038c47f
more doxy -> .h
...
SVN revision: 58429
2011-04-07 12:23:22 +00:00
Carsten Haitzler
54bf7e1c01
more dox -> .h
...
SVN revision: 58427
2011-04-07 12:21:50 +00:00
Carsten Haitzler
f61f070efc
more doxy -> .h
...
SVN revision: 58426
2011-04-07 12:17:32 +00:00
Carsten Haitzler
4ba040a35c
more dox -> .h
...
SVN revision: 58425
2011-04-07 12:04:24 +00:00
Carsten Haitzler
3b77b6c3c5
move more doc to .h
...
SVN revision: 58424
2011-04-07 11:55:27 +00:00
Carsten Haitzler
a91e054426
more doxy -> .h
...
SVN revision: 58421
2011-04-07 11:40:55 +00:00
Carsten Haitzler
d44242d02c
more doxy -> h
...
SVN revision: 58420
2011-04-07 11:39:20 +00:00
Carsten Haitzler
d5e0c692ea
more doc to h files
...
SVN revision: 58419
2011-04-07 11:30:22 +00:00
Carsten Haitzler
4d3ab4d8b4
more doc -> header.
...
SVN revision: 58416
2011-04-07 11:22:34 +00:00
Carsten Haitzler
3a3746c4c3
more docs to .h files.
...
SVN revision: 58415
2011-04-07 11:16:30 +00:00