Commit Graph

202 Commits

Author SHA1 Message Date
Mike Blumenkrantz 26d73cbae1 eio: make inotify monitors fork-safe
@fix
2018-02-02 16:59:44 -05:00
Vincent Torri 8f5029fbbc Eio: disable the symlink code on Windows 2018-01-30 16:52:24 +09:00
Vincent Torri f5b01ac5ce all: Simplify definition of EAPI
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-18 18:04:03 +09:00
Daniel Kolesa dd11d19653 efl: make efl build again
After a function pointer validation branch got enabled, it turned
out that people have been writing obviously incorrect eo files
all along.

So while I have no idea if this is logically fully correct, at
least EFL builds again now...

cc @thiepha
2018-01-12 19:31:45 +01:00
Cedric Bail 23624acc16 eio: remove unecessary include. 2018-01-11 21:30:39 -08:00
Cedric BAIL 526415d903 eo: make efl_provider_find a @const function. 2018-01-04 11:45:10 -08:00
Cedric BAIL fd0bcc201b eio: switch code to simpler pattern with efl_loop_promise_new. 2018-01-03 12:16:25 -08:00
Carsten Haitzler 9bedda14b3 efl loop - rename ecore_main_loop_get to efl_main_loop_get
ecore_main_loop_get() is really a new "eo api" but it's using our old
ecore_* namespace, so move to the new efl namespace.
2018-01-02 16:13:54 +09:00
Andy Williams d234458dfc Fix and simpligy windows behaviour.
Author: Vincent Torri
2017-12-31 16:08:31 +00:00
Jean-Philippe Andre ff24ac2d6d efl: Reset ecore event types on init
This fixes cycles of init/shutdown/init where ecore event types would
become invalid, since they are now stored in a dynamic array rather than
a statically stored array.

The risk here is that if a module of EFL tends to init/shutdown in a
"normal" scenario then the event type array will grow in a leaking
manner. This could be fixed by resetting those event ID's only when the
loop actually exits (EFL_EVENT_DEL on the main loop). I'm not using
EFL_EVENT_DEL in this patch as this would add too many event callbacks
to the main loop object, which may result in slightly slower event calls
to it, affecting the overall performance.
2017-12-19 11:14:37 +09:00
Cedric BAIL fa0ba4c0c9 eio: remove uneeded function. 2017-12-15 09:45:48 -08:00
Cedric Bail d5c9c0b784 eio: migrate Efl.Io.Manager.xattr_ls to use Eina_Future. 2017-12-14 16:42:44 -08:00
Cedric BAIL df032058fd ecore: rename Efl.Loop_User to Efl.Loop.Consumer. 2017-12-13 14:54:57 -08:00
Vincent Torri 771bb6e6a7 Evil: use static buffer to store error messages
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5394
2017-12-11 16:04:02 +09:00
Stefan Schmidt 5f288dfde0 docs: add the last docs for efl_io_manager eo class 2017-12-08 17:09:46 +01:00
Andy Williams d5dbcdabd1 eo: Rename efl_ref_get to efl_ref_count 2017-11-08 09:30:42 +00:00
Daniel Kolesa 263c3ac2ae eio: properly mark array contents as ptr 2017-11-02 13:53:14 +01:00
Cedric Bail c549f2c993 eio: do not copy memory for nothing. 2017-09-28 18:31:34 -07:00
Cedric Bail 961c860d65 eio: use TIMESTAMP when meaningful. 2017-09-28 18:31:34 -07:00
Cedric Bail 0fb9af0506 eio: migrate efl.io.manager.ls to use Eina_Future. 2017-09-28 18:31:34 -07:00
Cedric BAIL 245ea06a65 eio: convert Efl.Io.Manager.stat() to return Eina_Future. 2017-09-27 16:32:58 -07:00
Jean-Philippe Andre f3c9d25c1f elm: Properly unregister providers on shutdown
This should fix some errors in make check with CK_FORK=no

Test:
  <efl/build>/src$ CK_FORK=no ./tests/elementary/elm_suite elm_config

@fix
2017-09-26 17:58:07 +09:00
Vincent Torri 0cdd501246 EFL For WIN32: Replace HAVE_EVIL define with _WIN32 2017-09-22 05:06:10 -05:00
Daniel Kolesa a8b8b7efde eo files: first batch of @owned conversions 2017-09-15 16:44:26 +02:00
Cedric Bail cba58203a3 eio: move efl.io.manager.xattr.get to use the new Eina_Future. 2017-09-14 10:11:29 -07:00
Cedric BAIL 6a4bc78eaf eio: don't flush value after giving ownership. 2017-09-14 09:36:33 -07:00
Cedric Bail b9ef9af74a eio: migrate efl.io.manager.open to use Eina_Future. 2017-09-13 15:53:00 -07:00
Cedric BAIL de106a2973 eio: move efl.io.manager.close to use the new future. 2017-09-12 14:08:40 -07:00
Cedric BAIL 2e4d357a26 eio: simplify promise use. 2017-09-12 10:22:21 -07:00
Cedric BAIL e33d0d9996 eio: first convertion to new future/promise. 2017-09-11 16:10:46 -07:00
Felipe Magno de Almeida 2544456819 eio: Fix eio model children count in initialization of children model 2017-09-07 12:36:48 +09:00
Vincent Torri 45bcc87e76 eio: fix correct stat structure on Windows 32 bits
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:17:24 -07:00
Al Poole 169a08c03a efreetd: BSD optimizations.
Summary: Related to ticket T5475.

Reviewers: raster, cedric

Subscribers: jpeg, cedric, raster

Differential Revision: https://phab.enlightenment.org/D4865

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-10 12:26:08 -07:00
Al Poole 7ee68cb4e2 eio: improve Kevent (FreeBSD et. al)
Summary: Adds initial support for file/directory creation and deletion detection.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: raster, jpeg

Differential Revision: https://phab.enlightenment.org/D4811

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-28 10:17:17 -07:00
Carsten Haitzler 24b77d8ed9 eio monitor - remove unused vars and fix warning 2017-04-21 16:39:06 +09:00
Cedric BAIL 9bd80d542c eio: use new API eina_file_close_on_exec. 2017-04-18 16:56:40 -07:00
Cedric BAIL aef1ee96e8 eio: avoid crash during shutdown due to Ecore_Event queue. 2017-03-09 16:17:58 -08:00
Felipe Magno de Almeida a1f2db255b cxx: Modify how to generate C++ headers and allow cyclic dependencies
Allow cyclic dependencies in generated C++ headers by changing order
of includes and creating forward declarations.
2017-01-18 22:47:04 -02:00
Daniel Kolesa 192ea2c9ad eio, edje: use new property impl syntax 2016-12-27 17:47:00 +01:00
Ivan Furs 3df48e281e eio: Correct deletion backend
Summary:

This patch fixes the bug Fileselector.
When backend is deleted need to remove event handler from the list.
This commit adds ecore_main_win32_handler_del for correct clean
handlers for cases when monitor backend was created by
eio_monitor_backend_add(Windows method) or eio_monitor_fallback_add. To
remove them needed to use eio_monitor_backend_del(Windows method) or
eio_monitor_fallback_del. To identify the method which should free
backend was added flag monitor->fallback instead of using static
_eio_monitor_win32_native. This solves conflicts if 2  monitors was
created and the second monitor changed the _eio_monitor_win32_native
variable value. When 1 monitor removed it will be deleted correctly .

@fix

Reviewers: NikaWhite

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4518
2016-12-27 16:20:59 +02:00
Jee-Yong Um f1ab136abc doxygen: remove reference warnings.
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4503

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-12-20 16:39:30 -08:00
Ivan Furs 1c0b3668e1 Eio_monitor: support native monitor for Win32 (T4978)
Test Plan:
eio_monitor_backend_add()  and eio_monitor_fallback_add use different structures
**eio_monitor_backend_add()  **
struct _Eio_Monitor_Backend
{
   Eio_Monitor               *parent;
   Eio_Monitor_Win32_Watcher *watcher_file;
   Eio_Monitor_Win32_Watcher *watcher_dir;
   Eio_Monitor_Win32_Watcher *watcher_parent;
};

**eio_monitor_fallback_add()**
struct _Eio_Monitor_Backend
{
   Eio_Monitor *parent;

   Eina_Stat self;
   Eina_Hash *children;

   Ecore_Timer *timer;
   Ecore_Idler *idler;
   Ecore_Thread *work;

   int version;

   Eina_Bool delete_me : 1;
   Eina_Bool initialised : 1;
   Eina_Bool destroyed : 1;
};

therefore, an error occurs
**void eio_monitor_backend_del**(Eio_Monitor *monitor)
{

   if (!_eio_monitor_win32_native)          <------_eio_monitor_win32_native is EINA_TRUE
     {

        eio_monitor_fallback_del(monitor);  <------ignored------
        return;                             <------ignored------
     }

   _eio_monitor_win32_watcher_free(monitor->backend->watcher_parent);
   _eio_monitor_win32_watcher_free(monitor->backend->watcher_dir);
   _eio_monitor_win32_watcher_free(monitor->backend->watcher_file);
   free(monitor->backend);
   monitor->backend = NULL;
}

Reviewers: raster, vtorri, an.kroitor, jpeg, reutskiy.v.v, FurryMyad, cedric

Reviewed By: cedric

Subscribers: vtorri, artem.popov, cedric, jpeg

Tags: #windows, #efl

Differential Revision: https://phab.enlightenment.org/D4492

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-12-16 15:27:14 -08:00
Cedric BAIL 9393560178 eio: check error case for eina_value_get.
CID 1356609
2016-12-16 14:10:58 -08:00
Carsten Haitzler 2de9f552b9 eio - have a smaller mempool as i can see 270k of stuff hanging about
eio seems to consume memory even when not in active use. this saves
most of 270k even when no longer needed. the mempool just keeps stuff
around pretty much forever. also the memory size limit doesn't work at
asll if yous set it to something other than -1. it just locks eio up.

@optimize
2016-12-03 18:01:53 +09:00
Jee-Yong Um e037f30be4 efl.io.manager: fix eo types and indent
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4413

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-28 11:35:27 -08:00
Stefan Schmidt 124effc524 docs: eio: finish up missing eo file docs in eio 2016-11-11 09:15:24 +01:00
Stefan Schmidt a670418431 docs: efl_io: add missing docs for efl_io_manager 2016-11-07 15:53:35 +01:00
Daniel Kolesa a8f240e10d ecore_audio, eio eo: remove pointers 2016-11-04 17:14:30 +01:00
Stefan Schmidt 4a66bd14b7 docs: document all missing type defines in our eo files
With this commit we reach 100% alias doc coverage for our eo files.
2016-11-03 11:57:40 +01:00
Vitor Sousa 9f2270804b eio model: remove useless efreet_mime_type_get call 2016-10-28 21:21:57 -02:00