summaryrefslogtreecommitdiff
path: root/src/lib/eina
Commit message (Collapse)AuthorAgeFilesLines
* Eina: ignore EINA_FILE_LNK on WindowsVincent Torri2018-01-302-6/+4
|
* eina: Cleanup grammar in eina_hash doxygenBryce Harrington2018-01-301-124/+123
| | | | | | | | | | Summary: Corrects some grammatical errors, and rephrases wording of some passages for better clarity. Also fix a few doxygen formatting inconsistencies. Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5764
* eina_module: Drop ridiculous ERR messages from module_list_load/unloadDerek Foreman2018-01-261-2/+2
| | | | | | | | | | | | The documentation for these functions claims that passing a NULL array results in doing nothing - that should also include logging nothing. EINA_SAFETY_ON_NULL_RETURN() logs an ERR message and should be reserved for usage when NULL is not actually a valid state. Additionally, it's entirely possible to turn off EINA_SAFETY_CHECKS, at which point these functions would stop behaving as the documentation says they do. Not great.
* eina: Make return doxygen consistentBryce Harrington2018-01-241-67/+36
| | | | | | | | | | | | | Summary: Ensure @return defines error returns consistently. In several cases the errors were explained in the body but not mentioned in the @return docs. Drop redundant return value documentation for clarity. Some routines were defining the return values both in @return and in the doxygen body. Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5756
* eina: Clarify that Eina_Matrix_Type can describe any matrixBryce Harrington2018-01-181-5/+5
| | | | | | | | | | | | | Summary: The Eina_Matrix_Type enum is returned by eina_matrix4_type_get and eina_matrix2_type_get; it is not Matrix3-specific. Update doxygen accordingly. Reviewers: devilhorns Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5744
* eina: Cleanup spelling/grammar/punctuation for Eina ListBryce Harrington2018-01-181-76/+85
| | | | | | | | | | | | | Summary: This fixes some typos and misspellings, massages grammar in a few places, tidys up a little whitespace, and fixes incorrect docs in a spot or two. Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5745
* all: Simplify definition of EAPIVincent Torri2018-01-182-6/+6
| | | | | This will help in the transition from Autotools to Meson. This has been tested on Windows for which EFL_XXX_BUILD were first introduced.
* eina: make updating rectangle cache thread safe.Cedric BAIL2018-01-161-6/+7
|
* eina: remove usless newlineJean Guyomarc'h2018-01-163-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: ecore_evas: remove debug eina: unregister log level when done with Fixes a constant memory leak. eina: introduce EINA_HOT and EINA_COLD These attributes respectivelly expand to __attribute__ ((hot)) and __attribute__ ((cold)) when available. They allow to mark functions are being hot/cold (frequently used or not) as well as to qualify labels within a function (likely/unlikely branches). eo: speed-up generated calls by removing call cache The call cache needed to by thread-local, to avoid concurrency issues. Problem with TLS is that is adds an extra overhead, which appears to be greater than the optimization the cache provides. Op is naturally atomic, because it is an unsigned integer. As such, it cannot be tempered with while another thread is reading it. When entering the generated function, the first operation done is reading 'op'. If we have concurrency, we will have access sequences returning either EFL_NOOP or a VALID op, because 'op' is not set until the very end of the function, when everything has been computed. As such, we now use the 'op' atomic integer to instore a lock-free/wait-free mechanism, which allows to drop the TLS nature of the cache, speeding up the access to the cache, and therefore making functions execute faster. We don't test anymore the generation count. This can be put as a limitation. If means that if you call efl_object_shutdown() and re-initialize it later with different data, opcodes will be invalid. I am not sure there is any usecase for this to ever happen. We could move all the caches in a dedicated section, that can be overwritten after a call to efl_object_shutdown(), but I am not sure it will be very portable. Benchmark: mean over 3 executions of ELM_TEST_AUTOBOUNCE=100 time elementary_test -to genlist ``` BEFORE AFTER ------------------------------------------------------------ time (ns) 11114111647.0 9147676220.0 frames 2872.3333333333335 2904.6666666666665 time per frame (ns) 3869364.6666666665 3149535.3333333335 user time (s) 11.096666666666666 9.22 cpu (%) 22.666666666666668 18.333333333333332 ``` Ref T6580 Reviewers: raster, cedric Subscribers: cedric, jpeg Maniphest Tasks: T6580 Differential Revision: https://phab.enlightenment.org/D5738
* eina: document quadtreeBryce Harrington2018-01-121-12/+160
| | | | | | | | | | Reviewers: cedric, ajwillia.ms Subscribers: segfaultxavi, jpeg Differential Revision: https://phab.enlightenment.org/D5522 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
* efl: remove inclusion of dirent.h where it is not usedVincent Torri2018-01-121-3/+0
| | | | | | | | | | | | Test Plan: compilation Reviewers: cedric Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D5733 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
* mmap memory allocation - do not used when under valgrindCarsten Haitzler (Rasterman)2018-01-123-43/+96
| | | | | | | we can't sensibly use things like massif to track memory if we bypass itr with mmaping -1 fd anonymous memory... so if built with valgrind support and running under valgrind, use malloc/calloc and free so these tools actually do something useful for these bits of memory.
* eina: add eina_promise_continue_new to create a promise using an existing ↵Cedric Bail2018-01-102-8/+108
| | | | dead future.
* efl thread signal masks - fix up for various threads manually createdCarsten Haitzler (Rasterman)2018-01-062-0/+43
| | | | | | | | so xine module plus 2 eina dbug threads didnt set up signal blocking/masks correctly. xine use ssigprocmask not pthread_sigmask and the other 2 didnt even bother at all. fix this so these threads all block most of these commnly caught signals so these threads never get them
* efl: remove _MSC_VER (Visual Studio macro) usage in source codeVincent Torri2018-01-041-5/+1
|
* Merge branch 'devs/xartigas/typos'Andy Williams2018-01-032-2/+2
|\
| * Typo in error messageXavi Artigas2018-01-021-1/+1
| |
| * Typo in exampleXavi Artigas2018-01-021-1/+1
| |
* | eina debug - use pthread _sigmask instead of sigprocmask like elsewhereCarsten Haitzler (Rasterman)2018-01-031-2/+2
|/ | | | | | | | | elsewhere in efl we moved to pthread_sigmask but eina debug didn't, so mirror the changes here too. at this point in time when we are initting eina debug this shouldnt really matter much as we're single threaded until this pthread_Create is called. after that tough... we're not. signals + threads is a nightmare though... horrible horrible...
* remove elgacy ecore event usage in futures that limit to mainloop onlyCarsten Haitzler (Rasterman)2017-12-281-0/+13
| | | | | | | | | also eina_procmis was not threadsafe so cannto use loops in different threads at all until this was made safe. needed to disable the old ecore_event using code in for ecore futures and create a new efl loop message future and handler instead ... but now a quick experiment with multiple loops in 10 threads plus mainloop have timers at least work. i need to test more like fd handlers etc etc. but it's a step.
* Remove all ocurrences of SPANK from our user facing errors.Andy Williams2017-12-221-16/+4
| | | | | | | | | | This has been bugging me for some time but now we are triggering new errors internally this is appearing to end users for problems they did not cause. Additionally I was able to improve a couple of the errors by copying the explanation from code comments into the error message. Shorter error logs now too :)
* elm build for osx - try another dotting of i's and crossing of t'sCarsten Haitzler (Rasterman)2017-12-201-1/+2
| | | | try this and fix T6448 ...
* eina: fixup EAPI definition.Cedric BAIL2017-12-191-1/+41
|
* eina: fix random segfaults when displaying BTJean Guyomarc'h2017-12-191-1/+1
| | | | | | | | | Under some circumstances, eina crashes when attempting to display the backtrace, because dladdr() may yield a dli_fname that is NULL. This is especially annoying in realease, when the backtrace is shown by default when CRI/ERR are thrown. @fix
* eina: Add missing eina_internal.hJean-Philippe Andre2017-12-191-0/+16
|
* eina: make __eina_promise_cancel_all an internal only function.Cedric BAIL2017-12-182-9/+2
|
* eo/eina: Add HACK to avoid calls to EO after shutdownJean-Philippe Andre2017-12-182-1/+16
| | | | | | | | | | | | | | Efl.Future is an EO object which means even cancelling Efl.Future objects requires EO. So this should be done before shutting down EO, otherwise everything fails badly. I believe Efl.Future is going to disappear soon, but the problem will remain: if any promise/future uses EO or anything else outside of Eina (so, basically anything) then it needs to be canceled before shutting down the above layers. This is the same situation as with ecore events, for which we've introduced ecore_event_type_flush. Ping @cedric
* efl: drop deprecated Encoding key from desktop filesRoss Vandegrift2017-12-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | Summary: The Encoding key is no longer required, all desktop files are assumed to be UTF-8 encoded. See details at: https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html Fix various typos and misspellings lintian, Debian's package checker, uses strings to check for common typos in compiled binaries. This change fixes the ones it identified in 1.20.6. Reviewers: cedric Reviewed By: cedric Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5584 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
* eina: add an error for when a feature is not implemented.Cedric BAIL2017-12-112-0/+5
|
* eina: Fix typo in doxygenChris Michael2017-12-111-1/+1
| | | | | | @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* Evil: use static buffer to store error messagesVincent Torri2017-12-111-10/+3
| | | | | | Reviewers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5394
* eina: Update header for readabilityAndy Williams2017-12-071-27/+27
| | | | | Author Nate Drake Reviewer: Andy Williams
* eina_file_win32: also check for copy before unmapping region.Al Poole2017-12-021-1/+1
|
* eina_file: make sure we use a stringshare when virtualized.Al Poole2017-11-302-3/+3
| | | | | | | | | As the filename is now a stringshare, also make sure virtual files use stringshares for the filename! Also when unmapping we still need to test whether it is copied or not as unmap will break on less tolerant architectures. @fix T6449
* eina safepointer - mimic 47 bit eoid patchCarsten Haitzler (Rasterman)2017-11-241-7/+20
| | | | same thing as b209b9a92286209281c12e81fd9dd72dc28c7495 but for safeptr
* eina: warning removed from eina_debug_timerPawel Aksiutowicz2017-11-211-1/+2
| | | | | | | | Reviewers: stanluk, lukasz.stanislawski Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5500
* eina: Fix matrix header guard nameBryce Harrington2017-11-211-3/+3
| | | | | | | | | | | | Summary: eina_matrix.h includes matrix2, matrix3, and matrix4, so the header guards shouldn't specify MATRIX3. Reviewers: cedric Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D5508
* eina: Indicate in and out parameters for eina_matrixBryce Harrington2017-11-201-174/+174
| | | | | | Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5496
* eina: properly initialize EINA_ERROR_VALUE_FAILED.Cedric Bail2017-11-171-2/+3
|
* eina: properly initialize EINA_ERROR_NOT_MAIN_LOOP.Cedric Bail2017-11-171-0/+2
|
* eina: properly initialize EINA_ERROR_MAGIC_FAILED.Cedric Bail2017-11-171-0/+3
|
* eina: fail with an Eina_Error on copy failure.Cedric Bail2017-11-171-3/+11
|
* eina: fix docs for manage_read_only_newAndy Williams2017-11-161-1/+4
|
* eina: Improve API docs for eina_crc.hBryce Harrington2017-11-141-18/+30
| | | | | | | | | | Reviewers: cedric, ajwillia.ms Reviewed By: ajwillia.ms Subscribers: jpeg, segfaultxavi Differential Revision: https://phab.enlightenment.org/D5468
* eina: Fix spelling/punctuation errors in docs (quaternion..rectangle)Bryce Harrington2017-11-133-40/+34
| | | | | | | | Reviewers: cedric, ajwillia.ms Subscribers: segfaultxavi, jpeg Differential Revision: https://phab.enlightenment.org/D5450
* eina: Fix spelling/punctuation errors in documentation (safepointer..strbuf)Bryce Harrington2017-11-136-31/+31
| | | | | | | | Reviewers: cedric, ajwillia.ms Subscribers: segfaultxavi, jpeg Differential Revision: https://phab.enlightenment.org/D5458
* eina: Fix spelling/punctuation errors in documentation (thread..xattr)Bryce Harrington2017-11-1311-61/+217
| | | | | | | | | | | | | | | | Summary: Also makes some of the doxygen comment line spacing/formatting consistent. Interesting ref on grammar of 'an uniform' vs. 'a uniform': https://english.stackexchange.com/questions/4700/is-it-a-uniform-or-an-uniform It is AN honor to work with such A uniform language as English. *sigh* Reviewers: cedric, ajwillia.ms Subscribers: segfaultxavi, jpeg Differential Revision: https://phab.enlightenment.org/D5459
* eina: Add API doxygen for eina_rbtree_inline_lookup()Bryce Harrington2017-11-132-2/+13
| | | | | | | | Reviewers: cedric, ajwillia.ms Subscribers: segfaultxavi, jpeg Differential Revision: https://phab.enlightenment.org/D5460
* eina: Improve eina_alloca API doxBryce Harrington2017-11-131-4/+9
| | | | | | | | Reviewers: cedric, ajwillia.ms Subscribers: segfaultxavi, jpeg Differential Revision: https://phab.enlightenment.org/D5461
* eina: Fix spelling/punctuation errors in documentation (prefix..promise)Bryce Harrington2017-11-082-73/+74
| | | | | | | | Reviewers: cedric, ajwillia.ms Subscribers: jpeg, segfaultxavi Differential Revision: https://phab.enlightenment.org/D5438