Commit Graph

17 Commits

Author SHA1 Message Date
Carsten Haitzler d6156d23d8 eio - don't call cb's after a cancel
i saw a segv in e/efm .. an eio call was called after it had been
canceled. this should never happen. ever. so ensure it does not once
an eio file has been canceled.

@fix
2019-08-30 12:43:24 +01:00
Al Poole 34a25f0318 eio_file: fix some indentation.
Make this easier to read.
2018-02-27 17:33:47 +00:00
Cedric Bail 11fe9b8cd9 eio: add internal function able to build array instead of triggering a callback per files. 2016-09-08 14:58:06 -07:00
Cedric Bail d26a0a2f70 eio: track length of resulting operation to be reported by futures. 2016-09-08 14:58:06 -07:00
Guillaume Friloux 1cc4d91dd5 eio: unify deletion of eina_file_ls's iterator.
Due to a bug with eio_file_stat_ls(), a previous patch
(73a23401ef) was written.

This patch change the way we delete returned eina iterator
from eina_file_ls in _eio_file_eina_ls_heavy() from a separate
thread, into eio_async_end() from the main thread.

To clarify the code, and avoid a useless call to
eina_iterator_free(), this patch also moves the deletion
of the same eina iterator from _eio_file_heavy() into
eio_async_end() as well.
2015-09-03 10:19:12 +01:00
Carsten Haitzler 7d36abad25 eio - fix crashes due to stale eio files in tracking list
so eio_eet didnt free fiels the same as the rest of eio. it thought it
was special. it thought it could just go free() it's objects (even
though they inherit the core Eio_File object type in their structs).
everyone else ended up calling eio_file_free() EXCEPT eio_eet. so the
eio_(long)_file_set() funcs ewnded up adding this eio file to the
tracking list via eio_file_register() but never unregistered because
they really liked to just do their own thing anyway...

BAD CEDRIC! SPANKING TIME

http://33.media.tumblr.com/3422c76c33c3b9b045f623ff73e0bf8d/tumblr_mhvu61N9br1rbavngo1_500.gi

so this unifies all allocation to now use a single allocator (that
also ensures all eio async io objects are zero'd out), and a SINGLE
free path, and then it all works. no more valgrind complaints on e
shutdown/restart whilst eio "things" were used before or ... maybe
still around.

this should fix T2129

so try again "git master" after this commit.

@fix
2015-04-20 21:55:24 +09:00
Cedric BAIL 5e5e602ab0 eio: actually correctly set all field to NULL.
@fix T1729
2014-10-18 15:22:30 +02:00
Guillaume Friloux 73a23401ef Fix a bug with using Eio_File handler in main callback.
When using eio_file_stat_ls() (or any other exposing Eio_File *handler),
it will not be possible to use it from the main callback due to eio
freeing data too fast from the thread.

Moved frees from _eio_file_eina_ls_heavy() to eio_async_end() to be
sure that all the calls to main callback are over.
This implied adding the Eina_Iterator from eina_file_stat_ls to
the _Eio_File_Ls structure.
2014-10-09 15:53:01 -04:00
Jérémy Zurcher f8c2c57406 do not use EINA_FALSE instead of NULL 2014-05-07 17:45:11 +02:00
Cedric BAIL 042407a39d eio: remove warning. 2014-03-05 14:06:27 +09:00
Cedric BAIL a31102ab43 eio: factorize code to have one place where data are pushed. 2014-03-05 10:41:37 +09:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Gustavo Sverzut Barbieri 014cd8065d efl/eio: use eina_file_copy()
SVN revision: 81944
2012-12-31 23:45:24 +00:00
Gustavo Sverzut Barbieri 8ba0561e49 efl: remove lstat and fchmod checks.
- fchmod() was isolated by HAVE_CHMOD, which was always present
   before... then fchmod() is also present as no errors were reported
   since its introduction.

 - fchmod() is POSIX for a while now.

 - lstat() is POSIX for a while now.

 - setxattr is supported by EFL_CHECK_FUNCS() as is used by eina.

 - splice() check added to EFL_CHECK_FUNCS()



SVN revision: 81938
2012-12-31 18:18:00 +00:00
Mike Blumenkrantz 300ee59f38 eio functions no longer crash when passed NULL and throw errors accordingly
SVN revision: 81668
2012-12-24 09:44:21 +00:00
Mike Blumenkrantz b2de05f49a all efl object deletion functions now take NULL without crashing or erroring
SVN revision: 81667
2012-12-24 09:35:56 +00:00
Vincent Torri 81c86b19f6 merge: eio + fix compilation on windows + minor fixes + po files
don't move eio to IN-EFL right now


SVN revision: 80180
2012-12-04 17:40:58 +00:00