Commit Graph

1179 Commits

Author SHA1 Message Date
Rafael Fonseca 6485492cbe 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



SVN revision: 53405
2010-10-14 15:18:15 +00:00
Cedric BAIL 39a6e2df5a * eina: use pthread_equal.
SVN revision: 53400
2010-10-14 14:17:48 +00:00
Cedric BAIL c7245e24ed * eina: fix amalgamation build.
SVN revision: 53392
2010-10-14 11:07:10 +00:00
Cedric BAIL 7f9845c66f * eina: make Vincent happy.
SVN revision: 53362
2010-10-13 16:30:22 +00:00
Cedric BAIL f9b8578ea6 * eina: add assert to ease tracking down efl misuse with threads.
SVN revision: 53360
2010-10-13 15:35:56 +00:00
Cedric BAIL a44992380f * eina: easy speed improvement by reducing operation of mempool.
SVN revision: 53349
2010-10-13 12:12:45 +00:00
Cedric BAIL 0e7accd2ba * eina: don't bench ecore anymore as it's to slow.
SVN revision: 53346
2010-10-13 09:34:40 +00:00
Cedric BAIL 0d02671e99 * eina: improve chained mempool speed.
By removing pthread lock when thread safety is not required.
	By not walking over the buffer for nothing.


SVN revision: 53310
2010-10-12 16:53:30 +00:00
Gustavo Sverzut Barbieri b11b2f95b5 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.



SVN revision: 53169
2010-10-07 22:14:03 +00:00
Eduardo de Barros Lima a5a3fc18e5 Eina: Don't #define _GNU_SOURCE
Instead use AC_GNU_SOURCE macro in configure.ac



SVN revision: 53157
2010-10-07 19:29:32 +00:00
Carsten Haitzler f1cac3e69c add pid to eina log.
SVN revision: 53091
2010-10-06 07:09:05 +00:00
Cedric BAIL 2bd686db2b * eina: fix typo.
SVN revision: 53055
2010-10-05 11:32:12 +00:00
Chidambar Zinnoury be17392520 eina: strrchr--.
SVN revision: 53000
2010-10-03 15:08:18 +00:00
Carsten Haitzler 91466cf439 efl 1.0.0 beta.
SVN revision: 52992
2010-10-03 09:21:08 +00:00
Marc Andre Tanner 3966e2e027 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>



SVN revision: 52949
2010-10-01 12:18:39 +00:00
Marc Andre Tanner 431685d37a 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>



SVN revision: 52947
2010-10-01 12:18:04 +00:00
Vincent Torri 72c7182a15 fix
SVN revision: 52882
2010-09-29 08:12:08 +00:00
Vincent Torri e06c65f79d NAME_MAX defined to 255 on sun (if not defined).
SVN revision: 52881
2010-09-29 06:37:56 +00:00
Vincent Torri c4771c0127 include limits.h. Should acctually work with DSB, macosx and openindiana.
SVN revision: 52880
2010-09-29 05:41:09 +00:00
Lucas De Marchi 6666a9e795 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.



SVN revision: 52654
2010-09-23 20:58:19 +00:00
Lucas De Marchi a95105a888 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.



SVN revision: 52651
2010-09-23 20:38:48 +00:00
Cedric BAIL 80bbb4584c * eina: call malloc only when content is requested from the pool.
SVN revision: 52543
2010-09-21 15:18:15 +00:00
Mike Blumenkrantz f7bf462ef4 revert whoops
SVN revision: 52537
2010-09-21 06:52:10 +00:00
Mike Blumenkrantz 005cf69302 ecore_con_url_free migration
SVN revision: 52536
2010-09-21 06:51:07 +00:00
Eduardo de Barros Lima acae2fc370 Eina_List: Revert changes introduced in r52253
The patch was trying to fix an error caused by wrong usage of this function



SVN revision: 52496
2010-09-20 18:20:40 +00:00
Lucas De Marchi 71cba7da35 Fix typos
"he->the" where appropriate



SVN revision: 52493
2010-09-20 17:09:13 +00:00
Eduardo de Barros Lima 2216c53641 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>



SVN revision: 52253
2010-09-14 18:29:30 +00:00
Vincent Torri f7b1362905 add braces to remove ambiguous condition warning
SVN revision: 52246
2010-09-14 15:57:20 +00:00
Mike Blumenkrantz 534bd43e9d initial doxy patch for rbtree from vtorri
CEDRIC WRITE DOCS FOR THIS!


SVN revision: 52172
2010-09-12 19:28:18 +00:00
Mike Blumenkrantz 1970f8dd6c more doxy from vtorri
SVN revision: 52164
2010-09-12 08:03:21 +00:00
Mike Blumenkrantz eb775222a5 variable name changes for accessor functions
patch by vtorry
compile testing frowned upon by andredieb


SVN revision: 52163
2010-09-12 06:49:57 +00:00
Lucas De Marchi c4a0cef6e6 Fix typos in docs
* eina_thread_init doesn't exist. eina_threads_init it is;
* 'mutexes' is a more common spelling, not 'mutexs'



SVN revision: 52136
2010-09-10 12:01:52 +00:00
Lucas De Marchi 935cd5b9e5 Fix common misspellings
Following misspellings were fixed:

occured->occurred
immediatly->immediately



SVN revision: 52018
2010-09-09 02:19:54 +00:00
Iván Briano 8374dea693 Evil patch from Evil vtorri. Some improvements to Eina docs.
Yup, docs.. truly evil.


SVN revision: 51993
2010-09-08 17:41:05 +00:00
Cedric BAIL 6c69d6f60e * eina: fix doc, patch by Vincent Torri.
SVN revision: 51983
2010-09-08 08:38:48 +00:00
Lucas De Marchi 33dcb37afe Fix common misspellings
The following misspellings were fixed:

asociated->associated
convertion->conversion
exemple->example
existant->existent
immediatly->immediately
isnt->isn't
loosing->losing
memeber->member
occured->occurred
occurence->occurrence
occurences->occurrences
ocurred->occurred
recomended->recommended
sucess->success
teh->the
tiem->time
usefull->useful




SVN revision: 51962
2010-09-08 03:21:16 +00:00
Lucas De Marchi 15ae42344e Fix typo in doxygen
SVN revision: 51932
2010-09-06 22:48:58 +00:00
Carsten Haitzler 607cdfc508 ok... don't know what's up here... but how about debs actually build
from our debian/ dir? i dont know what debian and ubuntu will one day
use for their pkging info.. but at least have the stuff we have in svn
work eh? :)



SVN revision: 51858
2010-09-03 09:21:07 +00:00
Mike Blumenkrantz e892d9a2bf cleanups for eina_module_list_get type change
vtorri SPANK SPANK SPANK!!!


SVN revision: 51828
2010-09-02 03:28:04 +00:00
Vincent Torri 490413be14 use Eina_Bool instead of unsigned int
SVN revision: 51825
2010-09-01 22:31:43 +00:00
Vincent Torri c85dffafd8 typo
SVN revision: 51799
2010-09-01 06:48:52 +00:00
Vincent Torri a4a7bc6b43 format a bit the doc and add corner cases
SVN revision: 51798
2010-09-01 06:45:33 +00:00
Mike Blumenkrantz 05f38ae44a yarrrrrrr I've got yer rum right here, you landlubber! HAR HAR HAR!
SVN revision: 51790
2010-08-31 22:39:02 +00:00
Mike Blumenkrantz bc7bb345a6 move function into local, reformat
SVN revision: 51787
2010-08-31 21:19:54 +00:00
Vincent Torri cfa7e00a53 whitespaces--
SVN revision: 51730
2010-08-29 18:19:36 +00:00
Mike Blumenkrantz 7a5677ad43 finish removing threadsafe stuff
SVN revision: 51687
2010-08-27 21:41:03 +00:00
Mike Blumenkrantz 671f193066 fix -I for eina_private.h
THIS IS BROKEN IN ALPHA RELEASE. WHOEVER BROKE IT: SPANK SPANK SPANK!


SVN revision: 51683
2010-08-27 18:18:41 +00:00
Lucas De Marchi d8002ff386 Revert and re-apply badnull patch
Revert previous patch generated by badnull.cocci script, and apply the new one.
The main difference is that assert and assert-like functions are not touched
anymore.




SVN revision: 51650
2010-08-26 01:34:13 +00:00
Carsten Haitzler c69a28315c force to unisgned char
SVN revision: 51624
2010-08-25 02:04:37 +00:00
Carsten Haitzler 1412fb1c94 and cppcheck yes -> init to NULL so check and free works.
SVN revision: 51550
2010-08-22 22:39:26 +00:00
Carsten Haitzler 8093b21ddb cppcheck -> shhh. yes. we know. leak.
SVN revision: 51549
2010-08-22 22:38:06 +00:00
Carsten Haitzler ed78d8a36b mempool -> init the mempool with calloc. we cannot know for sure the
mempool backend inits all members, so make sure they are set to 0. not
a cost worth quibbling over. how many mempools do you really create
during the life of an app?



SVN revision: 51548
2010-08-22 22:35:24 +00:00
Carsten Haitzler 9b006054b7 again -> shut cppcheck up.
SVN revision: 51547
2010-08-22 22:32:30 +00:00
Carsten Haitzler b1dee3fc6d leak-- in win32 code.
SVN revision: 51546
2010-08-22 22:30:55 +00:00
Carsten Haitzler 64d565228a cppcheck doesn't like it if u dont first init all data before using
contents of that struct (minus the thing u are about to set)



SVN revision: 51545
2010-08-22 22:29:25 +00:00
Vincent Torri 402c60b18b get the verbosity with the env variable CK_VERBOSITY. By default, nothing is changed.
SVN revision: 51535
2010-08-22 17:58:01 +00:00
Carsten Haitzler e9acd2dfc8 on advice of vtorri <- revert until proven that limits.h works on
these other os's.



SVN revision: 51512
2010-08-22 06:00:13 +00:00
Carsten Haitzler eb1a43bfbf oops - formatting at start too - not just end
SVN revision: 51510
2010-08-22 05:47:44 +00:00
Carsten Haitzler 1974702021 fmting
SVN revision: 51507
2010-08-22 02:32:47 +00:00
Joerg Sonnenberger 4497367d7f From: Joerg Sonnenberger <joerg@britannica.bec.de>
pthread_t is opaque, so make less assumptions...



SVN revision: 51506
2010-08-22 01:15:47 +00:00
Joerg Sonnenberger 527f011af9 From: Joerg Sonnenberger <joerg@britannica.bec.de>
Use portable header to work on all POSIX compliant systems.
Doesn't break non-POSIX systems as limits.h is a C90 header.



SVN revision: 51505
2010-08-22 01:15:18 +00:00
Vincent Torri 2e92fe0223 update vcproj files
SVN revision: 51498
2010-08-21 18:41:11 +00:00
Vincent Torri 0686aa04af add vasprintf declaration on Windows
SVN revision: 51497
2010-08-21 17:25:46 +00:00
Lucas De Marchi 5a8a8c9014 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Cedric BAIL e6f9cee051 * eina: fix structure content to be more futur proof and reduce
risk of ABI breakage.


SVN revision: 51390
2010-08-19 12:02:28 +00:00
Tom Hacohen 6a0b488468 Eina: Moved the private headers to src/lib where they belong.
SVN revision: 51388
2010-08-19 08:30:01 +00:00
Cedric BAIL ccebf54881 * eina: fix some warning by Albin Tonnerre.
SVN revision: 51246
2010-08-17 11:48:50 +00:00
Vincent Torri ca4497509e i forgot about amalgamation. fix declaration too
SVN revision: 51243
2010-08-17 07:39:53 +00:00
Vincent Torri 333b64f15e some doc fixes
SVN revision: 51242
2010-08-17 06:58:26 +00:00
Vincent Torri d4cd8f28ae formatting
SVN revision: 51241
2010-08-17 06:05:21 +00:00
Vincent Torri 32932b4135 alloca() declaration
SVN revision: 51240
2010-08-17 05:44:11 +00:00
Vincent Torri 4e09c14e08 formatting
SVN revision: 51239
2010-08-17 05:28:34 +00:00
Vincent Torri 2e13d0c790 formatting
SVN revision: 51238
2010-08-17 05:22:10 +00:00
Vincent Torri 13a1bdf6e0 formatting
SVN revision: 51237
2010-08-17 05:21:13 +00:00
Vincent Torri db666d9feb remove rwlock code
SVN revision: 51236
2010-08-17 05:15:28 +00:00
Lucas De Marchi 80b44315f7 eina-0 is no more, check for the right package name
SVN revision: 51235
2010-08-17 03:59:29 +00:00
Sebastian Dransfeld 8e1762694a typo
SVN revision: 51223
2010-08-16 17:56:18 +00:00
Cedric BAIL e3a887235d * eina: remove configure option for rwlock as it is not used anymore.
SVN revision: 51220
2010-08-16 15:36:17 +00:00
Cedric BAIL c45c36bd80 * eina: attempt to improve a little bit more the header.
Mainly trailing space and macro indentation.


SVN revision: 51217
2010-08-16 15:02:37 +00:00
Cedric BAIL 6293bd87fa * eina: fix amalgamation.
SVN revision: 51210
2010-08-16 13:52:34 +00:00
Cedric BAIL f75eab161d * eina: remove thread safe data type for now. They will be back !
SVN revision: 51179
2010-08-16 09:32:09 +00:00
Cedric BAIL aa3728b3f5 * eina: preparing clean removal of eina threadsafe data type.
SVN revision: 51173
2010-08-16 09:00:42 +00:00
Carsten Haitzler aee8014df6 actually fix - eina.pc should now be used. consistency with the rest
of efl.



SVN revision: 51160
2010-08-16 08:03:21 +00:00
Carsten Haitzler 6bfc6527c2 module arch fix.
SVN revision: 51157
2010-08-16 06:46:03 +00:00
Carsten Haitzler f4b68549cb formatting. ok - maybe we can have a debate on it, but its better than
it was before. debate up for grabs for now. wont touch other lib
headers until resolved for eina. it's the worst anyway.



SVN revision: 51156
2010-08-16 06:14:19 +00:00
Carsten Haitzler c747bfaadb well got to start somewhere. eina 1.0.0 alpha readied. need to go over
code formatting still (headers specifically). bring doc building
in-line with other efl libs. README is useful now. Changelog waiting
to be filled in for 1.0.0



SVN revision: 51154
2010-08-16 05:40:50 +00:00
Carsten Haitzler a7dd054fe4 remove cruft.
SVN revision: 51151
2010-08-16 03:34:47 +00:00
Carsten Haitzler f0c2285096 fix copying - it didnt actually even claim copyright. fix.
SVN revision: 51147
2010-08-16 02:40:24 +00:00
Tom Hacohen 063d8ffd64 Eina: Fixed usage of EINA_CONST, the lack of EINA_PURE and EINA_WARN_UNUSED_RESULT and formatting in the following headers:
1. eina_unicode.h
2. eina_strbuf.h eina_ustrbuf.h
3. eina_stringshare.h eina_ustringshare.h eina_binshare.h


SVN revision: 51128
2010-08-15 09:01:16 +00:00
Mike Blumenkrantz ad00478247 fix threadsafe api
SVN revision: 51118
2010-08-14 16:10:19 +00:00
Cedric BAIL 3b269d6f04 * eina: don't direct people in the wrong direction.
SVN revision: 51117
2010-08-14 15:50:07 +00:00
Mike Blumenkrantz 689a24559c add threadsafety for hashes
SVN revision: 51106
2010-08-14 03:05:35 +00:00
Mike Blumenkrantz f973f8c72a add #ifdefs for some threadsafety stuff
cedric SPANK SPANK SPANK!!!


SVN revision: 51105
2010-08-14 03:03:32 +00:00
Iván Briano 02031b60bf Remark that data being deleted from the hash will be mercilessly killed if a blackops free function was given to the hash on creation.
SVN revision: 51079
2010-08-13 14:34:36 +00:00
Mike Blumenkrantz c8f669a27f more variable renames, null check alloc, malloc+memset0 -> calloc, rwlocks in structs
SVN revision: 51066
2010-08-13 06:58:43 +00:00
Mike Blumenkrantz 44eeac0e1e BOW DOWN BEFORE ME, FOR I HAVE MADE THESE HEADERS READABLE ONCE MORE!
SVN revision: 51065
2010-08-13 06:36:33 +00:00
Mike Blumenkrantz 3618cf1227 rename variables and typedefs to sane values
SVN revision: 51064
2010-08-13 05:22:33 +00:00
Mike Blumenkrantz bf66f6f712 go go gadget recrustify!
SVN revision: 51063
2010-08-13 01:46:14 +00:00
Cedric BAIL 731e946df7 * eina: remove debug output.
SVN revision: 51048
2010-08-12 15:11:35 +00:00
Cedric BAIL 86a21376ad * eina: report when and where memleak come from.
SVN revision: 51040
2010-08-12 14:22:22 +00:00