efl/src/lib/eio
Derek Foreman 35210b553d eio_model: Fix deleting files that don't have assigned types yet
Summary:
Trying to delete a file from a creation notification callback can
fail.  Sometimes the eio model test would sit forever in select()
waiting for events that will never occur because of this.

This happens since d84a268a71 broke
deleting of files that haven't yet been assigned a type.  Before
this commit a delete_me flag would be set before attempting to
build a stat buf asynchronously, and then on completion the file
would be deleted.

I think this was changed because that could potentially race with
other async calls and delete the file sooner than expected.  So
instead of reverting I've made a special delete path that shouldn't
race with non-delete paths.

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6543
2018-07-10 09:43:55 -04:00
..
Eio.h eio: add method for setting the global file polling rate for fallback monitors 2018-06-19 13:33:14 -04: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 eio: rename eio_job to efl_io_manager. 2016-06-22 13:19:13 -07:00
Eio_Legacy.h eio: add method for determining if a monitor is using the fallback mechanism 2018-06-28 18:08:45 +02:00
efl_io_manager.c eio: remove last remnant of Efl_Promise. 2018-05-01 10:39:01 -07:00
efl_io_manager.eo eolian: switch Eina.Future instances to future<T> 2018-05-03 17:14:39 +02:00
eio_dir.c Eio: disable the symlink code on Windows 2018-01-30 16:52:24 +09: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_file: fix some indentation. 2018-02-27 17:33:47 +00:00
eio_inline_helper.x Eio: Update my email address. 2016-08-05 20:33:27 -05:00
eio_main.c Revert "cxx: Fix manual code after efl_app change." 2018-03-03 13:40:33 +09:00
eio_map.c eio: track length of resulting operation to be reported by futures. 2016-09-08 14:58:06 -07:00
eio_model.c eio_model: Fix deleting files that don't have assigned types yet 2018-07-10 09:43:55 -04:00
eio_model.eo eio: migrate to the new efl.model API. 2018-04-30 14:21:12 -07:00
eio_model_private.h eio_model: Fix deleting files that don't have assigned types yet 2018-07-10 09:43:55 -04:00
eio_monitor.c eio: remove broken pid-based monitor reset copied from ecore-file 2018-02-07 12:12:22 -05:00
eio_monitor_cocoa.c
eio_monitor_inotify.c eio: make inotify monitors fork-safe 2018-02-02 16:59:44 -05:00
eio_monitor_kevent.c efreetd: BSD optimizations. 2017-05-10 12:26:08 -07:00
eio_monitor_poll.c eio/fallback: avoid emitting monitor events if the backend is pending deletion 2018-06-28 18:08:45 +02:00
eio_monitor_win32.c eio/fallback: mark all fallback monitors as fallbacks, not just for win32 2018-06-28 18:08:45 +02:00
eio_private.h eio: share _efl_io_manager_future_cancel with all of eio. 2018-04-30 14:21:12 -07:00
eio_sentry.c eio: add method for determining if a monitor is using the fallback mechanism 2018-06-28 18:08:45 +02:00
eio_sentry.eo eio: add method for determining if a monitor is using the fallback mechanism 2018-06-28 18:08:45 +02:00
eio_sentry_private.h eio: Adds Eo-based Eio API 2016-05-25 21:32:03 -03:00
eio_single.c eio: fix correct stat structure on Windows 32 bits 2017-08-14 10:17:24 -07:00
eio_xattr.c eio: add an internal function for getting xattr in bulk. 2016-09-08 15:16:43 -07:00