Commit Graph

879 Commits

Author SHA1 Message Date
Derek Foreman 51d1360a18 ecore_anim: Simplify timeline terminal condition
Summary:
We should only ever have a pos of 1.0 once, the current terminal
condition gives the impression that it might be possible to have
more than one 1.0 firing.

This would break a lot of code.

No functional change intended.
Depends on D6464

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6465
2018-06-28 13:12:04 -05:00
Mike Blumenkrantz b455617500 ecore/thread: flush main loop threads during ecore_thread_wait()
this avoids the case where the main loop is waiting on a thread
and that same thread is waiting on the main loop

@fix

Differential Revision: https://phab.enlightenment.org/D6438
2018-06-28 18:08:45 +02:00
Mike Blumenkrantz 04d209e238 ecore/thread: flush main loop threads while waiting during shutdown
if a thread is actively waiting on the main loop in order to proceed
with its exit, a flush here avoids the case where the thread waits
until the main loop has exited

Differential Revision: https://phab.enlightenment.org/D6437
2018-06-28 18:08:45 +02:00
Mike Blumenkrantz 2ee83cc28d ecore/thread: increase loop iterations when waiting during shutdown
since this is now a smaller wait interval, looping more times helps
ensure success for threads which have longer blocking operations
between lifetime checks

Differential Revision: https://phab.enlightenment.org/D6436
2018-06-28 18:08:45 +02:00
Mike Blumenkrantz 6eaa57852a ecore/thread: greatly reduce usleep time during shutdown loop
Summary:
now that ecore accurately waits on all threads while exiting, this
loop needs to run much more frequently in order to avoid waiting for
an unreasonably long time when exiting

Reviewers: ManMower, devilhorns

Reviewed By: ManMower

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6427
2018-06-25 17:27:18 -04:00
Mike Blumenkrantz 1dc706a3dd ecore/thread: track "no_queue" threads
these threads are still managed by the main loop, meaning they must be
accounted for so that they can be waited on if necessary during shutdown

this resolves some issues where ecore-con threads would persist after the
main thread had exited or called ecore_shutdown

@fix
fix T7041

this is the final version of the patch and not the mangled version which
was previously committed

Differential Revision: https://phab.enlightenment.org/D6354
2018-06-25 16:54:24 -04:00
Mike Blumenkrantz 8d2f5d7a7d Revert "ecore/thread: track "no_queue" threads"
This reverts commit 1e47db6a71.

somehow arc managed to land an old revision of this which was not consistent
with the final version of D6354
2018-06-25 16:53:40 -04:00
Mike Blumenkrantz 1e47db6a71 ecore/thread: track "no_queue" threads
these threads are still managed by the main loop, meaning they must be
accounted for so that they can be waited on if necessary during shutdown

this resolves some issues where ecore-con threads would persist after the
main thread had exited or called ecore_shutdown

@fix
fix T7041

Differential Revision: https://phab.enlightenment.org/D6354
2018-06-25 15:14:31 -04:00
Mike Blumenkrantz 198016d503 ecore: reformat ecore_thread.c
no functional changes

Differential Revision: https://phab.enlightenment.org/D6352
2018-06-25 15:14:30 -04:00
Thierry HUCHARD 65da58726f ecore/main: fix build with --enable-g-main-loop
this resolves compiler errors with this option which resulted from refactoring

fix T7011
2018-06-22 17:42:22 -04:00
Mike Blumenkrantz ef538cd1ed ecore/glib: add #ifdef guards for newly added includes
these headers are not available on all platforms (e.g., windows) and so
the corresponding #ifdef checks must be used in order to correctly include
them

ref 1adb73cef8
ref T5725
fix T7063

Differential Revision: https://phab.enlightenment.org/D6369
2018-06-22 15:26:44 -04:00
Mike Blumenkrantz 83124559cc ecore: call eina_debug_fork_reset() in fork reset function
Summary:
ensure that this occurs as expected when forks happen

note that this is already being actively tested in the elm unit tests

Depends on D6307

Reviewers: ManMower, devilhorns

Reviewed By: ManMower

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6308
2018-06-19 13:55:36 -04:00
Zbigniew Kempczyński 1adb73cef8 ecore - handle G_IO_ERR conditions for net sockets
Glib integration with using of select() syscall doesn't properly
propagates G_IO_ERR condition for network sockets. Problem relies in
_ecore_glib_context_poll_to() where rewriting filedescriptor events to
GPollFD structures reside.

This fixes T5725

@fix
2018-06-17 15:59:02 +09:00
Derek Foreman 07d7ae4657 ecore: Use poller instead of animator for mem stats
Summary:
Animators shouldn't be used as a general purpose timer mechanism,
we could use a timer, but a poller seems to make more sense as
it limits the impact of the instrumentation on the code it's
instrumenting.

Reviewers: stephenmhouston, zmike

Reviewed By: stephenmhouston, zmike

Subscribers: stephenmhouston, cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6251
2018-06-06 12:41:05 -05:00
Cedric BAIL b59911d5af ecore: during shutdown their is no need to delay anything. 2018-05-24 16:02:21 -07:00
Cedric BAIL c49d293915 ecore: allow for NULL file handler request. 2018-05-24 16:02:20 -07:00
Cedric BAIL f7b08c4537 ecore: properly cleanup variable on shutdown, so that cycling another init doesn't crash. 2018-05-24 16:02:20 -07:00
Cedric Bail a16d127997 ecore: because fd_handler do not have the main loop as parent, the main loop can die before them. 2018-05-24 16:02:19 -07:00
Cedric Bail 6bb450d7ee ecore: first invalidate the loop and its children, then destroy all the object capability.
Differential Revision: https://phab.enlightenment.org/D6089
2018-05-24 16:02:18 -07:00
Cedric BAIL 93893def9f ecore: properly handle shutdown of Efl.Loop children by using invalidate.
Differential Revision: https://phab.enlightenment.org/D6077
2018-05-24 16:02:18 -07:00
Cedric BAIL 23281bc54a ecore: disable signal during shutdown.
Differential Revision: https://phab.enlightenment.org/D6076
2018-05-24 16:02:18 -07:00
Cedric BAIL 266dabc096 ecore: force close during invalidate of Efl.Io.Buffered_Stream.
Differential Revision: https://phab.enlightenment.org/D6074
2018-05-24 16:02:18 -07:00
Xavi Artigas 0f47f53f57 efl: rename Efl.Task.* -> Efl.Task_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 4396687b6c efl: rename Efl.Exe.* -> Efl.Exe_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 35bbedc96f efl: Add missing event types
Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).

In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).

Test Plan: make with c# bindings works, make check and make examples work too.

Reviewers: cedric, q66, lauromoura

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6169
2018-05-19 01:42:26 +02:00
Daniel Kolesa 577c00789a eolian: second batch of unused import removals
This fixes all remaining occurences introduced by false negatives
in 6bcd70f01d. The rest was already
fixed in 6be3809c04.
2018-05-13 18:13:12 +02:00
Daniel Kolesa 6be3809c04 eolian: first batch of unused import removals
Initial results of our static analysis showed a bunch of unused
imports or imports used only for documentation references. In the
first case, remove entirely, in the second case, change to 'parse'
in order to keep references working.

The static analysis is not perfect and yields false negatives for
certain cases, so there will be a second batch later.
2018-05-13 17:28:47 +02:00
Carsten Haitzler 9cf5b97a8a ecore - dont rely on commons merge for func ptr
use a proper extern delcaration to do this not a extern func ptr.
fixes compile errors with lto on.
2018-05-09 23:58:48 +09:00
Daniel Kolesa f58bdbf23a eolian: switch Eina.Future instances to future<T> 2018-05-03 17:14:39 +02:00
Cedric BAIL cdbbaede7e efl: remove old Efl_Future, Efl_Promise. 2018-05-01 10:39:01 -07:00
Cedric BAIL 894c2e6c8c ecore: remove BETA thread API integration with old Efl_Future. 2018-05-01 10:39:01 -07:00
Cedric BAIL 33fd77e9e4 ecore: move close_on_destructor to close_on_invalidate as that describe the behavior best.
Fix all use to correctly behave on invalidate.
2018-05-01 10:39:01 -07:00
Cedric BAIL 193149deb8 ecore: apply the same rules as set on the inner_io on the read and write pipe. 2018-05-01 10:39:01 -07:00
Cedric BAIL 8e107c991c efl: update Efl.Model to properly propagate EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED. 2018-05-01 10:39:01 -07:00
Cedric BAIL af9b5f2f85 ecore: efl_model_list_value_get will throw error when asked for out of range value. 2018-05-01 10:39:01 -07:00
Cedric BAIL 119cba7d1c ecore: make sure that we only install and expose EFL unified API we intend to. 2018-05-01 10:39:01 -07:00
Cedric BAIL 57953e953b ecore: ecore_event_message is not an Efl unified API. 2018-05-01 10:39:01 -07:00
Cedric BAIL 7058312809 ecore: ecore_exe.eo is no longer a Eo unified API. 2018-05-01 10:39:01 -07:00
Cedric BAIL 3e648c475f ecore: when relying on parent relationship for lifecycle, we should not use efl_del in the destructor. 2018-05-01 10:39:01 -07:00
Cedric BAIL 2306a3b090 ecore: logically do the disconnection from the main loop API during invalidate. 2018-05-01 10:39:01 -07:00
Cedric BAIL d895527bd5 ecore: optimize efl_model_list_value_get by using eina_list_nth_list. 2018-05-01 10:39:01 -07:00
Cedric BAIL 9e2493760b ecore: move efl_model_list_value_get to be an internal function. 2018-04-30 14:21:12 -07:00
Cedric BAIL 7019b8857b ecore: don't artificially block fonctionnality for nested loop.
We do have nested loop when manually calling iterate and was used
in legacy code that got broken with this change.
2018-04-30 14:21:11 -07:00
Cedric BAIL 725c8add86 ecore: move efl_loop_message_process to ecore_internal.h to allow other EFL component to use it. 2018-04-30 14:21:11 -07:00
Cedric Bail d7fe2d5608 ecore: refactor and migrate efl.model.container to the new efl.model API. 2018-04-30 14:21:11 -07:00
Cedric Bail 741a6c4126 ecore: refactor and migrate efl.model.composite.selection to the new efl.model API. 2018-04-30 14:21:11 -07:00
Cedric Bail 9211fd73a7 ecore: refactor and migrate efl.model.composite.boolean to the new efl.model API. 2018-04-30 14:21:11 -07:00
Cedric Bail 2049c44c78 ecore: convert efl.model.item to the new efl.model API. 2018-04-30 14:21:11 -07:00
Cedric Bail 0ce9fc5db0 ecore: add a class to factorize efl.model.composite. 2018-04-30 14:21:11 -07:00
Xavi Artigas 566a36dc99 Efl.Model_* (from Efl.Model.*)
Ref https://phab.enlightenment.org/T6847

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-24 09:05:49 -07:00