efl/src/lib/eio
Mike Blumenkrantz ddc31e75ac eio/fallback: avoid emitting monitor events if the backend is pending deletion
emitting events if the delete_me flag is set may result in events being emitted
for an already-freed monitor, resulting in both invalid memory access and a
deadlock later on if eio_shutdown has been called at this point

this causes the monitoring thread to check the status of the backend during the
block where the main loop and thread are in sync, avoiding any data races which
could occur when checking the flag at another time, and also avoiding accessing
the internals of the Ecore_Thread which could also have been deallocated during
shutdown

fix T7086

Differential Revision: https://phab.enlightenment.org/D6449
2018-06-28 18:08:45 +02: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: fix eio_model children_slice_get all 2018-06-07 19:15:50 -03: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: migrate to the new efl.model API. 2018-04-30 14:21:12 -07: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