raster [Thu, 9 Dec 2010 01:29:52 +0000 (01:29 +0000)]
spottied a stabilty/portability bug with PATH_MAx inside a public
header. fix. see comments.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55386
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 8 Dec 2010 19:32:23 +0000 (19:32 +0000)]
* eina: forgotten link.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55380
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
Marco Trevisan (Treviño) [Sun, 5 Dec 2010 03:14:03 +0000 (03:14 +0000)]
From: Marco Trevisan (Treviño) <mail@3v1n0.net>
Subject: [E-devel] [PATCH] eina share common check for node type
Hello, recentely I've been experiencing a lot of segfaults when running
an Elementary application which uses a genlist with some swallowed parts
in which I put some elm icons (png files).
When running it I often get crashes... Debugging it I found this:
=========
CRI<14207>: eina_share_common.c:561 _eina_share_common_node_from_str()
*** Eina Magic Check Failed !!!
Input handle is wrong type
Expected:
98761254 - Eina Stringshare Node
Supplied:
6e657070 - (unknown)
*** NAUGHTY PROGRAMMER!!!
*** SPANK SPANK SPANK!!!
*** Now go fix your code. Tut tut tut!
//DEBUG: Node referencies
622869060 (slen:
1145307236)
Program received signal SIGSEGV, Segmentation fault.
eina_share_common_del (share=0x65c810, str=0x7ffff1219150
"5hhu %5hu '%
s'\n")
at eina_share_common.c:858
858 node->references--;
=========
So it seems that edje tries to delete an invalid eina_share_common
string (is this a bug that should be fixed or is it
theme-dependent?),
and so the "node" pointer in eina share is not valid...
However eina never checks for its validity, so it seg-faults...
The attached patch fix this issue, setting the node to null when its
magic is not valid, and then always checking for its validity.
Is this fine?
Full stack trace:
#0 eina_share_common_del (share=0x65c810, str=0x7ffff1219150 "5hhu %5hu
'%s'\n")
at eina_share_common.c:858
#1 0x00007ffff120e047 in eina_stringshare_del (str=0x7ffff1219150
"5hhu
%5hu '%s'\n")
at eina_stringshare.c:632
#2 0x00007ffff1e1f7bc in _edje_text_recalc_apply (ed=0x95b900,
ep=0x70c3a0,
params=0x70c500, chosen_desc=<value optimized out>) at
edje_text.c:556
#3 0x00007ffff1de402d in _edje_part_recalc (ed=0x95b900,
ep=0x70c3a0,
flags=3)
at edje_calc.c:2007
#4 0x00007ffff1de4d86 in _edje_recalc_do (ed=0x95b900) at
edje_calc.c:268
#5 0x00007ffff1e25c7d in edje_object_part_swallow (obj=<value
optimized
out>,
part=0x7fffe001484c "elm.swallow.icon", obj_swallow=0x7fffe0017860)
at edje_util.c:2300
#6 0x00007ffff1b5d5fc in _item_realize (it=0x7fffe0016ed0,
in=10,
calc=1)
at elm_genlist.c:1489
#7 0x00007ffff1b5db89 in _item_block_recalc (itb=0x95b6a0,
in=<value
optimized out>,
qadd=<value optimized out>, norender=<value optimized out>) at
elm_genlist.c:1609
#8 0x00007ffff1b5e329 in _queue_proecess (wd=0x721b70,
norender=<value
optimized out>)
at elm_genlist.c:2425
#9 0x00007ffff1b5e567 in _item_queue (wd=0x721b70, it=<value
optimized
out>)
at elm_genlist.c:2476
#10 0x00007ffff1b5ead9 in elm_genlist_item_append (obj=<value
optimized
out>,
itc=0x7ffff2977040, data=0x8fed90, parent=0x0,
flags=ELM_GENLIST_ITEM_NONE,
func=<value optimized out>, func_data=0x0) at elm_genlist.c:2528
[eina-share-common-del-check-for-node.patch text/x-patch
(1.2KB)]
Index: src/lib/eina_share_common.c
===================================================================
--- src/lib/eina_share_common.c(revisione 55018)
+++ src/lib/eina_share_common.c(copia locale)
@@ -558,7 +558,7 @@
const size_t offset = offsetof(Eina_Share_Common_Node, str);
node = (Eina_Share_Common_Node *)(str - offset);
- EINA_MAGIC_CHECK_SHARE_COMMON_NODE(node, node_magic, );
+ EINA_MAGIC_CHECK_SHARE_COMMON_NODE(node, node_magic, node
= NULL);
return node;
(void) node_magic; /* When magic are disable, node_magic is
unused, this remove a warning. */
@@ -821,6 +821,7 @@
SHARE_COMMON_LOCK_BIG();
node = _eina_share_common_node_from_str(str,
share->node_magic);
+ if (!node) return str;
node->references++;
DBG("str=%p refs=%u", str, node->references);
@@ -847,6 +848,9 @@
SHARE_COMMON_LOCK_BIG();
node = _eina_share_common_node_from_str(str,
share->node_magic);
+ if (!node)
+ return;
+
slen = node->length;
eina_share_common_population_del(share, slen);
if (node->references > 1)
@@ -901,6 +905,7 @@
return -1;
node = _eina_share_common_node_from_str(str,
share->node_magic);
+ if (!node) return 0;
return node->length;
}
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55265
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sat, 4 Dec 2010 00:50:58 +0000 (00:50 +0000)]
* eina,eet,embryo,evas,ecore,edje,efreet,e_dbus,eeze: beta3 !
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55238
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sat, 4 Dec 2010 00:46:01 +0000 (00:46 +0000)]
* eina: forgotten file.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55237
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 3 Dec 2010 23:04:26 +0000 (23:04 +0000)]
* eina: define PATH_MAX when needed.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55232
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 3 Dec 2010 21:50:50 +0000 (21:50 +0000)]
* eina: don't fail if we didn't enable thread support completly.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55226
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 3 Dec 2010 18:46:49 +0000 (18:46 +0000)]
* eina: fix typos.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55223
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 3 Dec 2010 18:12:19 +0000 (18:12 +0000)]
* eina: fix typo.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55212
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 3 Dec 2010 18:02:51 +0000 (18:02 +0000)]
* eina: add forgotten header.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55211
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 3 Dec 2010 16:30:26 +0000 (16:30 +0000)]
* eina: fix gettimeofday usage.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55197
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 29 Nov 2010 23:16:19 +0000 (23:16 +0000)]
* eina: we don't plan to provide ABI compatibility until 1.0.
This kind of trick are for after 1.0, if you really need you can
just pick that patch.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55075
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Mon, 29 Nov 2010 23:14:35 +0000 (23:14 +0000)]
closes ticket 634
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55074
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 29 Nov 2010 18:40:26 +0000 (18:40 +0000)]
* eina, eet: fix coverage generation with newer lcov.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55070
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 29 Nov 2010 18:32:30 +0000 (18:32 +0000)]
* eina: eina_array_clean should be inlined from the beginning.
NOTE: to prevent ABI break, I added the old symbol in eina_abi.c.
So binary/library using eina_array_clean should continue to work
without any problem.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@55068
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
helen [Thu, 25 Nov 2010 19:38:45 +0000 (19:38 +0000)]
eina_array_data_set can receives null to unset
Passing null to the second parameter is the only way to unset the data,
so it should not have EINA_ARG_NONNULL to the data parameter
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54997
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
helen [Thu, 25 Nov 2010 19:00:59 +0000 (19:00 +0000)]
Missing include in eina_inlist.c
Including eina_log.h in eina_inlist.c
Removing warning:
warning: implicit declaration of function ‘EINA_LOG_ERR’
If you do not include it, and compile eina with safety checks disabled,
Evas and Elementary will not find the EINA_LOG_ERR symbol when
compiling
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54995
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 23 Nov 2010 07:38:46 +0000 (07:38 +0000)]
whitespace --
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54856
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
P Purkayastha [Tue, 23 Nov 2010 07:05:43 +0000 (07:05 +0000)]
From: P Purkayastha <ppurka@gmail.com>
Subject: Re: [e-users] eina: sandbox violation on emerge
On 11/21/2010 12:14 AM, P Purkayastha wrote:
> Hi,
> it seems eina is triggering a sandbox violation on emerge. Essentially
> it tries to remove a file present in / while installing. Seems to be
> something new added in revision r54731:
>
http://trac.enlightenment.org/e/changeset/54731/trunk/eina/src/modules/mp
> The build log is attached.
Replacing the $(controllerdir) with $(DESTDIR)$(controllerdir) makes
portage happy, and the installation succeeds:
cd "$S/src/modules/mp"
find . -name Makefile.am -exec sed -i -e '/rm -f
\$(controllerdir)/s/\$/\$(DESTDIR)\$/' {} \;
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54853
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sun, 21 Nov 2010 11:03:53 +0000 (11:03 +0000)]
* eina: make -C doesn't exist on OpenBSD.
Patch from the OpenBSD team :
Fabien Romano <fabien@openbsd.org>
Jonathan Armani <armani@opensbd.org>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54761
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sun, 21 Nov 2010 10:58:57 +0000 (10:58 +0000)]
* eina: forgotten benchmark file.
Thanks to the OpenBSD team :
Fabien Romano <fabien@openbsd.org>
Jonathan Armani <armani@opensbd.org>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54760
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sun, 21 Nov 2010 10:54:26 +0000 (10:54 +0000)]
* eina: use available mempool.
Patch from the OpenBSD team :
Fabien Romano <fabien@openbsd.org>
Jonathan Armani <armani@opensbd.org>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54759
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sat, 20 Nov 2010 22:14:57 +0000 (22:14 +0000)]
* eina: fix pthread library and flags typos.
Patch by Fabien Romano <fabien@openbsd.org>.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54753
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 20 Nov 2010 00:03:55 +0000 (00:03 +0000)]
remove useless .la file
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54731
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Fri, 19 Nov 2010 05:43:28 +0000 (05:43 +0000)]
more descriptive error message for inlist_remove when item is not an inlist
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54711
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Tue, 16 Nov 2010 03:04:55 +0000 (03:04 +0000)]
fix compile warnings without using private functions
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54577
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Mon, 15 Nov 2010 19:42:00 +0000 (19:42 +0000)]
fix some compile warnings
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54570
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 12 Nov 2010 16:01:55 +0000 (16:01 +0000)]
* efl: beta2 !
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54507
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 10 Nov 2010 10:54:53 +0000 (10:54 +0000)]
* eina: little doxy fix.
Thanks to kuri <kuri@paranoia.abuser.eu>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54398
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 8 Nov 2010 05:48:28 +0000 (05:48 +0000)]
no more debian dir in our svn - debian now handles this tehmselves.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54287
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 23:40:21 +0000 (23:40 +0000)]
cosmetic: compile the files in alphabetic order
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54253
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 21:01:36 +0000 (21:01 +0000)]
and add file
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54251
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 21:00:58 +0000 (21:00 +0000)]
* port eina_file_*_ls() on Windows and put the code in another file
* on Windows eina_file_stat_ls() is the same that eina_file_direct_ls()
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54250
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 20:38:41 +0000 (20:38 +0000)]
add doxygen doc
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54249
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 12:50:09 +0000 (12:50 +0000)]
remove Eina_Matrixsparse_Item_Cell and Eina_Matrixsparse_Item_Row
as they are used absolutely nowhere.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54226
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 12:44:25 +0000 (12:44 +0000)]
better removal for EINA_ARG_NONNULL
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54225
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 12:41:37 +0000 (12:41 +0000)]
remove EAPI from documentation
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54224
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 12:34:55 +0000 (12:34 +0000)]
* improve doc
* remove eina_binshare_init() and eina_binshare_shutdown()
from eina_binshare.h as they must not be exported
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54223
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 6 Nov 2010 07:37:52 +0000 (07:37 +0000)]
formatting, whitespaces--
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54221
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 4 Nov 2010 14:53:00 +0000 (14:53 +0000)]
* eina: fix eina_tiler_iterator_new API to be consistent with the
rest of the iterator API and usage.
WARNING !!! THIS IS REALLY BAD BUT FOR CONSISTENCY, I THINK THAT THIS
API BREAK WAS NEEDED. IN FACT IT'S MORE AN ABI BREAK AS IT WILL NOT
TRIGGER WARNING OR ERROR IN CURRENT PROGRAM USING
eina_tiler_iterator_new SO YOU ARE WARNED !
Reported by playya <frederik.sdun@googlemail.com>.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54153
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 3 Nov 2010 17:32:07 +0000 (17:32 +0000)]
* eina: fix typos.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54127
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 3 Nov 2010 10:19:55 +0000 (10:19 +0000)]
* eina: fix possible race condition between opendir/readdir_r/pathconf.
See http://womble.decadent.org.uk/readdir_r-advisory.html .
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54117
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 2 Nov 2010 17:47:19 +0000 (17:47 +0000)]
* eina: use fstatat when available.
Maybe we could add an eina_file_lstat_ls.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54108
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 2 Nov 2010 17:07:04 +0000 (17:07 +0000)]
* eina: add eina_file_stat_ls and guaranty that eina_file_direct_ls
will not call anything else than readdir_r.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54105
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 2 Nov 2010 15:11:05 +0000 (15:11 +0000)]
* eina: remove dirent so apps don't rely on non portable code.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54103
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 30 Oct 2010 05:48:07 +0000 (05:48 +0000)]
aaagh. dirent... bad! too many things in dirent that are not portable
- d_type for example... so put that into the direct_info struct and
handle the compat in eina.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@54015
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tiago [Fri, 29 Oct 2010 17:19:19 +0000 (17:19 +0000)]
Removing dead assignment.
Reported in:
http://people.profusion.mobi/~lfelipe/static_analysis/efl/efl-53990/eina/2010-10-29-1/report-w3Z1oM.html#EndPath
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53999
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tiago [Fri, 29 Oct 2010 17:19:15 +0000 (17:19 +0000)]
Remove possivle null pointer.
Reported in:
http://people.profusion.mobi/~lfelipe/static_analysis/efl/efl-53990/eina/2010-10-29-1/report-mqFB7z.html#EndPath
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53998
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 28 Oct 2010 09:59:27 +0000 (09:59 +0000)]
* eina: fix usage of eina_file_*ls in thread.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53948
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 28 Oct 2010 03:46:52 +0000 (03:46 +0000)]
dont free null ptrs eh?
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53944
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Mon, 25 Oct 2010 12:25:24 +0000 (12:25 +0000)]
* eina: make eina_file_ls and eina_file_direct_ls container be DIR*.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53862
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sun, 24 Oct 2010 15:29:23 +0000 (15:29 +0000)]
* eina: improve eina_rbtree doc to please discomfitor.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53835
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 23 Oct 2010 21:03:11 +0000 (21:03 +0000)]
valgrind support is now automatic, make usage clear at summary
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53823
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 23 Oct 2010 21:02:12 +0000 (21:02 +0000)]
ignore build files
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53822
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 23 Oct 2010 20:57:08 +0000 (20:57 +0000)]
fix amalgamation build
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53821
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sat, 23 Oct 2010 17:56:48 +0000 (17:56 +0000)]
* eina: remove unecessary free.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53817
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 23 Oct 2010 17:17:03 +0000 (17:17 +0000)]
put EFL_DEBUG_THREADS inside EFL_HAVE_POSIX_THREADS
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53816
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sat, 23 Oct 2010 16:56:36 +0000 (16:56 +0000)]
* eina: improve threads and debugging support in one big mempool.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53815
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 23 Oct 2010 07:52:51 +0000 (07:52 +0000)]
windows mutex shutdown correctness++
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53801
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Sat, 23 Oct 2010 06:41:45 +0000 (06:41 +0000)]
ecrustify testing: looked good so I'm committing for other people to review as well
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53800
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 23 Oct 2010 04:40:30 +0000 (04:40 +0000)]
slight mistake - trash cleanup on shutdown didnt null out base
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53797
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 23 Oct 2010 04:36:52 +0000 (04:36 +0000)]
lets lock del too eh?
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53796
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 23 Oct 2010 03:45:06 +0000 (03:45 +0000)]
cedric.. has been a bad boy. cleaning up some of his mess. still have
a leak somewhere. very very slow now.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53793
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Fri, 22 Oct 2010 19:58:49 +0000 (19:58 +0000)]
3 hours and a lot of bugfixing later, uncrustify can now align the * for function prototypes
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53781
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Fri, 22 Oct 2010 17:30:54 +0000 (17:30 +0000)]
this is the second test of my new uncrustify+config
*all struct members are aligned and spaced
*all post-function macros are force-spaced
*all post-function macros are parsed
*all macro definitions are backslash aligned
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53775
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 20 Oct 2010 13:54:01 +0000 (13:54 +0000)]
fix doc s!
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53665
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 17 Oct 2010 07:07:46 +0000 (07:07 +0000)]
delete libtool copied files on maintainer-clean rule
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53511
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
rfonseca [Thu, 14 Oct 2010 19:28:32 +0000 (19:28 +0000)]
Add valgrind support to one_big mempool.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53428
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
rfonseca [Thu, 14 Oct 2010 19:24:00 +0000 (19:24 +0000)]
Mark memory as accessable before popping it from stack.
When we push a memory to the trash stack we mark it as unaccessable. So we
should mark it as accessible before returning it to the user.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53427
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
rfonseca [Thu, 14 Oct 2010 19:19:13 +0000 (19:19 +0000)]
Just mark memory as freed after actually freeing it.
Otherwise valgrind would complain about invalid memory access.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53426
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
rfonseca [Thu, 14 Oct 2010 15:18:15 +0000 (15:18 +0000)]
Make valgrind know about eina mempools.
Because mempools generally allocate a big memory area and distribute chunks of
that area to the users, valgrind can not know about logical invalid access. By
using some valgrind macros we can tell valgrind about mempools and which area
can be accessed or not.
To start with I have just done valgrind integration on chained mempool but soon
it will be done for one_big too.
The code below is an example on which valgrind wouldn't complain without this
patch:
@code
#include <Eina.h>
int
main(int argc, char *argv[])
{
int i, *pool[4];
Eina_Mempool *mp;
eina_init();
mp = eina_mempool_add("chained_mempool", "test", NULL, sizeof(int), 4);
for (i = 0; i < 4; i++) {
pool[i] = eina_mempool_malloc(mp, sizeof(int));
*pool[i] = i;
}
printf("Valid mp pointer: pool[0] = %d\n", *pool[0]);
eina_mempool_free(mp, pool[0]);
printf("Freed mp pointer: pool[0] = %d\n", *pool[0]);
for (i = 1; i < 4; i++)
eina_mempool_free(mp, pool[i]);
eina_mempool_del(mp);
eina_shutdown();
return 0;
}
@endcode
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53405
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 14 Oct 2010 14:17:48 +0000 (14:17 +0000)]
* eina: use pthread_equal.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53400
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 14 Oct 2010 11:07:10 +0000 (11:07 +0000)]
* eina: fix amalgamation build.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53392
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 13 Oct 2010 16:30:22 +0000 (16:30 +0000)]
* eina: make Vincent happy.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53362
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 13 Oct 2010 15:35:56 +0000 (15:35 +0000)]
* eina: add assert to ease tracking down efl misuse with threads.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53360
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 13 Oct 2010 12:12:45 +0000 (12:12 +0000)]
* eina: easy speed improvement by reducing operation of mempool.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53349
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 13 Oct 2010 09:34:40 +0000 (09:34 +0000)]
* eina: don't bench ecore anymore as it's to slow.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53346
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 12 Oct 2010 16:53:30 +0000 (16:53 +0000)]
* eina: improve chained mempool speed.
By removing pthread lock when thread safety is not required.
By not walking over the buffer for nothing.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53310
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 7 Oct 2010 22:14:03 +0000 (22:14 +0000)]
auto-init threads and fix spinlock initialization checks.
* it is valid to use eina_log_threads_enable() without
eina_threads_init(), so call eina_log_threads_init() in that case.
* pthread_spin_init() returns 0 on success! check that and report any errors.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53169
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
etrunko [Thu, 7 Oct 2010 19:29:32 +0000 (19:29 +0000)]
Eina: Don't #define _GNU_SOURCE
Instead use AC_GNU_SOURCE macro in configure.ac
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53157
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 6 Oct 2010 07:09:05 +0000 (07:09 +0000)]
add pid to eina log.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53091
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 5 Oct 2010 11:32:12 +0000 (11:32 +0000)]
* eina: fix typo.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53055
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
illogict [Sun, 3 Oct 2010 15:08:18 +0000 (15:08 +0000)]
eina: strrchr--.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@53000
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sun, 3 Oct 2010 09:21:08 +0000 (09:21 +0000)]
efl 1.0.0 beta.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52992
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
lucas [Fri, 1 Oct 2010 12:18:39 +0000 (12:18 +0000)]
eina: fix compilation if safety checks are disabled
A few files include eina_safety_checks.h and then expect that
eina_log.h is also dragged in, however this isn't the case if
the safety checks were disabled at configure stage.
Include eina_log.h explicitly to fix this.
Patch by: Marc Andre Tanner <mat@brain-dump.org>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52949
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
lucas [Fri, 1 Oct 2010 12:18:04 +0000 (12:18 +0000)]
eina: fix wrong EINA_ARG_NONNULL
This fixes the following error:
CC libeina_la-eina_error.lo
CC libeina_la-eina_log.lo
In file included from ../../src/include/eina_safety_checks.h:69,
from eina_error.c:150:
../../src/include/eina_error.h:53: error: nonnull argument references non-pointer operand (argument 1, operand 1)
make[3]: *** [libeina_la-eina_error.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from ../../src/include/eina_safety_checks.h:69,
from eina_log.c:287:
../../src/include/eina_error.h:53: error: nonnull argument references non-pointer operand (argument 1, operand 1)
make[3]: *** [libeina_la-eina_log.lo] Error 1
make[3]: Leaving directory `/data/projects/qi-bootmenu-system/build/temp-armv4tl/eina/src/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/data/projects/qi-bootmenu-system/build/temp-armv4tl/eina/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/data/projects/qi-bootmenu-system/build/temp-armv4tl/eina'
make: *** [all] Error 2
Patch by: Marc Andre Tanner <mat@brain-dump.org>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52947
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 29 Sep 2010 08:12:08 +0000 (08:12 +0000)]
fix
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52882
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 29 Sep 2010 06:37:56 +0000 (06:37 +0000)]
NAME_MAX defined to 255 on sun (if not defined).
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52881
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 29 Sep 2010 05:41:09 +0000 (05:41 +0000)]
include limits.h. Should acctually work with DSB, macosx and openindiana.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52880
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
lucas [Thu, 23 Sep 2010 20:58:19 +0000 (20:58 +0000)]
Exclude win from prio drop implementation
Win will use another completely different approach. So, change the
guards to EFL_HAVE_POSIX_THREADS.
Also, include eina_sched.h as should have been done.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52654
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
lucas [Thu, 23 Sep 2010 20:38:48 +0000 (20:38 +0000)]
Implement function to drop priority of current thread
This function is useful for libraries like ecore and evas that have to
set some worker threads. The first thing these threads should do is to
call this function, so the main thread might continue running without
the worker threads interrupting it too much.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52651
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Tue, 21 Sep 2010 15:18:15 +0000 (15:18 +0000)]
* eina: call malloc only when content is requested from the pool.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52543
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Tue, 21 Sep 2010 06:52:10 +0000 (06:52 +0000)]
revert whoops
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52537
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Tue, 21 Sep 2010 06:51:07 +0000 (06:51 +0000)]
ecore_con_url_free migration
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52536
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
etrunko [Mon, 20 Sep 2010 18:20:40 +0000 (18:20 +0000)]
Eina_List: Revert changes introduced in r52253
The patch was trying to fix an error caused by wrong usage of this function
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52496
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
lucas [Mon, 20 Sep 2010 17:09:13 +0000 (17:09 +0000)]
Fix typos
"he->the" where appropriate
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52493
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
etrunko [Tue, 14 Sep 2010 18:29:30 +0000 (18:29 +0000)]
Eina_List: Avoid Segfault
Some inputs in which tmp - cur is greater than the number of previous nodes
in list, were causing ct to be null at end of loop.
Patch by Jonas M. Gastal <jgastal@profusion.mobi>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52253
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 14 Sep 2010 15:57:20 +0000 (15:57 +0000)]
add braces to remove ambiguous condition warning
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52246
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Sun, 12 Sep 2010 19:28:18 +0000 (19:28 +0000)]
initial doxy patch for rbtree from vtorri
CEDRIC WRITE DOCS FOR THIS!
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52172
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Sun, 12 Sep 2010 08:03:21 +0000 (08:03 +0000)]
more doxy from vtorri
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@52164
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33