efl/src/lib/eio
Marcel Hollerbach 1eb24301fd efl_io_model: next try to fix this race condition
what is happening is that a file gets announced through eio_model
listing code, at this point of time, the monitor does not yet know about
the file. If the file now gets deleted between the annoncing and the
learning of the file from the monitor, then the file got an ADD event,
but no DEL event. Which is a bug.

With this commit there is a new API which asks the monitor if the file
already has the knowledge about the files existance, or not. A few
monitors like win32 inotify or cocoa do not have context about the file
directly, if the OS is now having the same bug, then we are again in
trouble, however, we canot do anything about that. In the case of kevent
or poll, this asks the context of the monitor if the file is already
there.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10006
2019-09-19 14:50:42 -07:00
..
Eio.h efl: remove EFL_EO_API_SUPPORT macro 2019-03-18 12:13:59 +01:00
Eio.hh cxx: Modify how to generate C++ headers and allow cyclic dependencies 2017-01-18 22:47:04 -02:00
Eio_Eo.h efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
Eio_Legacy.h efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
efl_io_manager.c eio: work around the lack of integration between Ecore_Thread and Eina_Future. 2019-03-27 15:03:33 -07:00
efl_io_manager.eo efl: change all occurences of @owned to @move 2019-09-06 17:01:05 +02:00
efl_io_model.c efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
efl_io_model.eo docs: minor tweaks to efl_io_model 2019-09-05 17:01:02 +02:00
efl_io_model_private.h eio: remove unecessary use of weak reference. 2019-03-27 15:03:26 -07:00
eio_dir.c include evil_private.h in last files, and disable symbolic links on Windows in a couple of files 2019-05-22 07:59:05 -04:00
eio_eet.c eio: properly track destruction of all Eet eio request. 2016-09-12 16:19:10 -07:00
eio_file.c eio - don't call cb's after a cancel 2019-08-30 12:43:24 +01:00
eio_inline_helper.x Eio: avoid symbolic link on Windows 2019-05-21 13:35:01 -04:00
eio_main.c eo: use efl_provider_{un,}register infrastructure instead of Efl_Loop one. 2019-07-17 21:57:57 +02:00
eio_map.c eio: track length of resulting operation to be reported by futures. 2016-09-08 14:58:06 -07:00
eio_monitor.c efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
eio_monitor_cocoa.c efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
eio_monitor_inotify.c efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
eio_monitor_kevent.c efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
eio_monitor_poll.c efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
eio_monitor_win32.c efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
eio_private.h efl_io_model: next try to fix this race condition 2019-09-19 14:50:42 -07:00
eio_sentry.c Remove individual class BETA guards 2019-02-13 18:09:17 +01:00
eio_sentry.eo eolian: enable checking of beta/stable contexts in all classes 2019-03-11 13:42:29 +01:00
eio_sentry_private.h eio/sentry: destroy event handlers when deleting sentry 2018-08-17 22:19:32 +02:00
eio_single.c eio: fix warning 2019-09-12 14:45:58 -04:00
eio_xattr.c eio: add an internal function for getting xattr in bulk. 2016-09-08 15:16:43 -07:00
meson.build build: add a option to disable eo file installation 2019-03-14 12:44:00 -04:00