Commit Graph

16818 Commits

Author SHA1 Message Date
Jee-Yong Um 0e2a2cbacf eolian: remove all duplicated affix
Summary:
Currently eolian abbreviates when only the last word of class name and
the first word of method name are same, but this patch abbreviates
generated c name of function to remove all duplicated affix.
For example, "efl_io_closer_fd_closer_fd_set" will be "efl_io_closer_fd_set".

Reviewers: jpeg

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-28 11:35:27 -08:00
Artem Popov 30693b8487 eet: add checking on null to eet_data_write_cipher and EINA_ARG_NONNULL to dump API @fix
Summary:
add checking on null to eet_data_write_cipher and EINA_ARG_NONNULL to eet_data_dump*
and eet_data_test_dump* API

Reviewers: NikaWhite, myoungwoon, cedric

Reviewed By: cedric

Subscribers: jpeg, t.naumenko

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-28 11:35:27 -08:00
Bruno Dilly e190173338 elementary: fix make examples
After commit
54abdad6e0 elementary-cxx: Fix filemvc wrong usage of Efl_Future
it's required to add libethumb_client.la to ELEMENTARY_LDFLAGS
2016-11-28 17:21:42 -02:00
Guilherme Iscaro 75e24fc32f Ecore_Evas VNC: Properly set mouse/canvas in/out properties. 2016-11-28 13:57:55 -02:00
Guilherme Iscaro 75619fc290 Ecore Evas: Add multi seat support for mouse in/out. 2016-11-28 13:57:55 -02:00
Guilherme Iscaro 1d0c0d5024 Evas: Change evas_canvas_seat_focus_get to property. 2016-11-28 13:57:55 -02:00
Guilherme Iscaro be609118c6 Ecore_Evas: Add support for per-seat focus. 2016-11-28 13:57:55 -02:00
Guilherme Iscaro 6b95c4c2ec Ecore Wl2 Input: Canvas focus IN/OUT events should contain the seat.
This provides the information about which seat originated the event.
2016-11-28 13:57:55 -02:00
Guilherme Iscaro c5f14a61e3 Evas: Add per seat Evas focus state. 2016-11-28 13:57:55 -02:00
Chris Michael 8d97b8b204 ecore-evas-drm: Implement ecore_evas_screen_dpi_get for drm canvas
Small patch to implement support for ecore_evas_screen_dpi get on the
drm canvas. This will be used in enlightenment (e_scale) to get the
screen dpi of the compositor canvas when we call e_scale_update.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-28 10:09:41 -05:00
Chris Michael e0b61a35c5 ecore-drm2: Add API function to return screen dpi
This patch adds a new API function which will be called from
Ecore_Evas to return the screen dpi

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-28 10:09:41 -05:00
Vitalii Vorobiov a5ce6200a2 example: update edje-edit-part-box to use not deprecated functions
since box/table item API is deprecated and replaced with new API, it is important
to use them in example as well

Fixes T4931
2016-11-28 17:00:24 +02:00
Felipe Magno de Almeida 54abdad6e0 elementary-cxx: Fix filemvc wrong usage of Efl_Future 2016-11-28 12:32:18 -02:00
Gustavo Sverzut Barbieri b132e1e152 eeze_scanner: now using efl_net.
Rewrite eeze_scanner on top of efl_net_server_simple.
2016-11-28 12:15:38 -02:00
Gustavo Sverzut Barbieri 211eb3f00a eeze_scanner: add monitor (client)
In order to test eeze_scanner it's handful to have a client to monitor
for broadcasted events.
2016-11-28 12:15:38 -02:00
Gustavo Sverzut Barbieri 9effe44d8b efl_debug: fix typo, EXIT_FAILURE not EINA_TRUE.
although the same value, be clear on it.
2016-11-28 12:15:38 -02:00
Stefan Schmidt e2d087aba2 docs: efl_input: add property doc for newly added item 2016-11-28 14:26:01 +01:00
Woochan Lee 61f7865f95 elm_multibuttonentry: Using current w,h value for item size calc when box resized.
Summary:
Support in case that If the expand mode is set to false
and the item is added using the item_append API.

Checking focus, entry visible is not needed to change mode in shrink when box resized.

If the view type is shrink when the MBE is in focus and the box is resized, it should be in shrink mode.

Test Plan:
elementary_test
MBE sample

Reviewers: woohyun, Hermet

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4429
2016-11-28 21:33:43 +09:00
Jean-Philippe Andre 8a21384759 win: Move main menu back to win.edc (fix sizing)
As Andy reported, the main menu geometry is not correct after
my recent changes, as the application contents slide underneath
the menu bar. In fact the menu bar is just floating above
everything else.

So I've tried to move the menu to the framespace (as it should
belong to the frame), but the sizing algos for both the window
and the menu make some assumptions that render this task quite
difficult. Eventually I would like to be able to swallow the
menu somewhere else inside the border... but not right now.
2016-11-28 15:52:09 +09:00
Jean-Philippe Andre 51ba193bda win: Remove unused variable 2016-11-28 13:51:44 +09:00
Jean-Philippe Andre f1418dbb20 win: Avoid calling need_frame_adjust all the time
This function was meant to be called only before
finalize. This avoids getenv and string compares.
2016-11-28 10:57:15 +09:00
Andy Williams 428136e0f1 elm_code: Add some missing indent tests 2016-11-28 01:19:21 +00:00
Andy Williams 60cd219792 tests: Update for elm_code indent changes 2016-11-28 01:01:35 +00:00
Andy Williams c5181470c1 eo: safety in string comparison
Avoid potential for Eo to crash if app manages to unset key
@fix
2016-11-28 00:10:30 +00:00
Andy Williams 3febd6a563 elm_code: A better colour for comments 2016-11-28 00:08:43 +00:00
Andy Williams 46882cc2da tooltip: Don't warn when clearing tooltip if none set
This behaviour was already agreed, I just didn't notice the warnings created
2016-11-27 23:15:46 +00:00
Andy Williams f6486473ed elm_code: Slightly smarter indent logic
Continue comment blocks where appropriate...
A bunch of refactoring of text/indent code to expand further
2016-11-27 23:15:46 +00:00
Carsten Haitzler 892f4abe37 efl ui win - stop trying to get data of non-image icons
x11 updates trying to update x properties from image data when icon is
not an image is causing lots of error spam. fix this to check type
first before getting data.
2016-11-27 22:50:03 +09:00
Carsten Haitzler 81242af6f9 ecore animator - timer based ticker - add epoll support if available
the ecore time based animator that ticked away used select for
timeouts to listen to either a timeout OR the control fd that would
tell it to tick or not tick. my profiles show this as consuming 1.03%
of my profile sample time - just  the select call in the time based
animator. this adds the option of epoll + timerfd + having kernel
repeat the timer fd interval (since epoll timeouts at best can do 1ms
resolution). my profiling shows this to use 0.62% of profile time vs
1.03% for select, so it's a tiny win. this only compiles if epoll and
timerfd support have already been detected at compile time. it also
runtime falls back to select if epoll and timerfd setup fail.

@optimize
2016-11-27 17:21:51 +09:00
Carsten Haitzler 6a462f925f evas render - don't do extra if checks or loops if not needed
remove some extra looping and if checkign that is taken care of
already and just is pointless extra checks in the code creating
overhead. tiny amounts, but the amount of meaty speedups lef it
running low, so profiling, reading, working and repeating.

@optimize
2016-11-27 16:58:56 +09:00
Carsten Haitzler bba368cf79 evas render - evas_object_clip_recalc - dont call uselessly
evas_object_clip_recalc was already called ... multiple times in
pending and phase1 on all objects, so there is no value in calling it
again and again in later evbas render phases when it's already been
done.

this and moving this to a real func sees evas_object_clip_recalc usage
in perf drop from 1.8% to 1.4% or so of total perf sample time. tiny
win, but we're at the point where i can't find big meaty wins, so i'm
looking for a string of small wins to add up.

@optimize
2016-11-27 13:05:18 +09:00
Carsten Haitzler d7c6fca6c0 evas render and clip calc - move evas_object_clip_recalc out of inline
evas_object_clip_recalc is big. it's fat. it shouldnt be inline. so
make it a real function. being inline just hurts performance by making
our code bigger, hurting l1 instruction prefetch and cache
performance. this function isn't small. it's huge and should not be
inline basically because of that reason.

also throw in some likely/unlikely hints etc.

@optimize
2016-11-27 12:10:12 +09:00
Carsten Haitzler e3489d5f89 evas_render - store active obj geom in array to be able to filter faster
part of rendering is figuring if obj is inside current geometry.
before we had to actuall poke around inside the object. this moves the
geometry into the active object array so the data is fecthed fast and
already there for filtering as this is the most likely thing to filter
out an object.

unfortunately this seems to have some bugsd and i'm baffled why, so
leave it there and ifdefed out for now for suture hunting.
2016-11-27 12:09:25 +09:00
Carsten Haitzler 4a1dd9e0d9 evas render - remove unsed eo obj handle in pending object smart change
unused eo obj id, so dont have the line of code. - clean up code
2016-11-26 18:33:56 +09:00
Carsten Haitzler f10638cd98 evas render - remove another scope data get when we already have it
we already have the obj protected data so why scope data get it again?
fix and optiomize.

@optimize
2016-11-26 18:33:56 +09:00
Carsten Haitzler 26189dc9a4 evas render - get scope data less in phase 1 where obj data passed
in much of phase1 we already know the evas object protected data ptr,
so dont scope data get it or even pass the eo obj id around as we can
get it from obj->object
2016-11-26 18:33:56 +09:00
Carsten Haitzler a4aac60a67 evas render - remove excess scope data get when we already have the ptr
_evas_render_is_relevant() needs the obj protected data, so it gets
scrop data, but the only place it is called already has this pointer,
so avoid an extra lookup.

@optimize
2016-11-26 18:33:56 +09:00
Carsten Haitzler 69cb85aaca evas render - cache object arrays rto avoid processing them in phase1
evas render in phase1 in order to generate update rects, active,
render etc. object arrays has to walk every object in our tree. this
is a waste of time if we already have walked objects in a previous
frame if they havent changed, so cache this data in render cache in
smart objects to avoid re-walking and now just dumbly "memcpy" these
cached arrays into the master array. i have seen cpu usage by e drop
like about 15% in the sencarios i'm looking at "enlightenment
compositor with some window updating animation all the time, but most
other stuff being static).

@optimize
2016-11-26 18:33:56 +09:00
Carsten Haitzler 1bba6d5759 evas phase 1 process - shortcut objects that are pure static clips only
these objects don't actually produce - or should produce update
regions etc. etc. as the objects that are clipped should produce those.
they are not active objects. so skip them very early after just
ensuring they are in delete objects if needed.
2016-11-26 18:33:56 +09:00
Carsten Haitzler ad985e73f3 eo base class - clean up some formatting around callback add/del code
just formatting changes really.
2016-11-26 18:33:56 +09:00
Gustavo Sverzut Barbieri a8d1aa1441 efl_debug (client and server): now on top of efl_net_{server,dialer}_simple.
Much simpler! :-D
2016-11-25 19:39:01 -02:00
Gustavo Sverzut Barbieri 48049a4ce2 efl_net_server_unix: add leading_directories_create property.
This allows us to crete any parent directories that are missing.
2016-11-25 18:01:29 -02:00
Gustavo Sverzut Barbieri 3346e6973b efl_debug: use new efl_net_dialer_simple, remove lots of code.
this is what led me to create the efl_net_dialer_simple, this kind of
code was being repeated in too many places.
2016-11-25 17:42:17 -02:00
Gustavo Sverzut Barbieri 167ff29ea0 efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.
The low level I/O primitives are powerful but adds some complexity to
use, for bi-directional streaming communication one ends creating two
Efl.Io.Queue and two Efl.Io.Copier to pipe data to socket when it can
operate.

Then encapsulate the socket using the new Efl.Io.Buffered_Stream, this
will allow the socket, be a dialer or a server client, to be operated
as a single handle that internally carries about the buffering for
you.

As one can see in the examples, compared to their "manual"
alternatives they are very easy to use, ressembling
Ecore_Con_Server/Ecore_Con_Client, but also offers line-based
delimiters and the possibility to let the socket to handle queueing
for you in case you received partial messages (just do not
read/clear/discard the received data).
2016-11-25 17:27:32 -02:00
Gustavo Sverzut Barbieri 46341b329d efl_io_buffered_stream: wraps an I/O object and make it easy to use.
Since all other efl.io objects are low-level, the recommended approach
is to use an efl.io.copier. However when dealing with in-memory,
bi-directional comms like talking to a socket, we always end with 2
queues, 2 copiers and the annoying setup that is being replicated in
ecore_ipc, efl_debug and so on.

This class is the base to make it simpler. Other classes such as
Efl.Net.Socket.Simple, Efl.Net.Dialer.Simple and Efl.Net.Server.Simple
will use it to provide simpler code to users.

I guess we can call EFL+EO Java now?
2016-11-25 17:27:32 -02:00
Gustavo Sverzut Barbieri 16be61c7e1 efl_io_copier_flush: add may_block and ignore_line_delimiter parameters.
The may_block parameter is useful to force a flush without blocking on
read/write, sometimes particularly useful if ignore_line_delimiter is
true, then you get the data events without blocking -- as if a server
sending some content misses a trailing line delimiter, you do not want
to block on recv() but still want to flush data to user.

The ignore_line_delimiter parameter is useful if we're going to close
the copier and want to flush pending data which may exist due missing
trailing terminator. The close method will also force that if
destination can take more data.
2016-11-25 17:25:18 -02:00
Gustavo Sverzut Barbieri d9dafab785 efl_io_copier: expose 'done' property.
This property has a protected setter and will simplify both internal
implementation as well as usage.
2016-11-25 17:25:18 -02:00
Gustavo Sverzut Barbieri 410d65900c efl_net_server: add 'client_announce', share logic and fix a bug.
I just realized that if a client is not referenced it would leak in
the 'ssl' server as we must del it.

However, if we del the SSL socket, we're going to close the underlying
TCP. But we're from the TCP "client,add" callback and this causes
issues since "closed" will be emitted, our close callback will
unparent the client, which lead to it being deleted.

The proper solution is to only monitor "closed" if the client is
accepted. Otherwise we just check if it was closed, if we're the
parent, etc...

Fixing this in all servers were painful, we could share since most
inherit from Efl.Net.Server.Fd. Then add the "client_announce"
protected method to do it, and document how it should work.
2016-11-25 17:25:18 -02:00
Gustavo Sverzut Barbieri c534d79124 efl_net_socket_fd: stop monitoring fd on EOS.
There was a bug that if the remote peer closed the connection, it
would trigger 'read' event, which would read 0 bytes, flagging as
EOS... but then marking as "can_read", which was wrong.

Just stop monitoring the events and fix that.
2016-11-25 17:25:18 -02:00
Gustavo Sverzut Barbieri a9d9936a08 eina_slice: fix eina_slice_endswith() for same-sized slices. 2016-11-25 17:25:18 -02:00
Andrii Kroitor 47f14b78f4 elementary_test: fix function name conflict on Windows 2016-11-25 15:51:10 +02:00
Vitalii Vorobiov 1a9a3e701d Edje_Edit: use specific function to get file's name correctly on Win and Linux
Because '\' is dir path for linux, but '/' is dir path for Window,
so better use specific function for getting file's name depending on specific
system
2016-11-25 15:00:49 +02:00
Hermet Park 7171dd09c6 elementary flip: skip unnecessary sizing.
Sizing in the constructor is wrong.
It's just a waste of function call.
2016-11-25 20:18:28 +09:00
Jaehwan Kim b5e9818c02 edje_pick: add base_scale value to target edj from origin edj 2016-11-25 14:27:37 +09:00
Guilherme Iscaro 6572ad9e02 Efl.Canvas.Object: Remove focus,in/out events.
Since this object already inherist Efl.Input.Interface there's no need
to have those events reimplemented.
2016-11-24 19:18:47 -02:00
Guilherme Iscaro b77f0086f5 Efl.Canvas: Use Efl.Input.Focus as event info for object,focus.in/out. 2016-11-24 19:18:47 -02:00
Guilherme Iscaro fd6f6c14c1 Evas: Use events to set canvas focus in/out. 2016-11-24 19:18:47 -02:00
Guilherme Iscaro ded24d80ed Evas: Use events to flag canvas focus in/out. 2016-11-24 19:18:47 -02:00
Guilherme Iscaro ed9c635152 Evas: Add Focus event type. 2016-11-24 19:18:47 -02:00
Gustavo Sverzut Barbieri ec75c62369 efl_debug (client): quit if not waiting and we're done sending. 2016-11-24 19:00:49 -02:00
Gustavo Sverzut Barbieri b79f03c916 efl_debug (client): rewrite using efl_net.
Rewrite and greatly improve error checking, allow multiple commands to
be given in series, etc.

This also leverages on Efl.Io.Queue to buffer data for us, then all we
need to do is peek at its contents, when there is a full message we
use and then ask the queue to discard it.

The CLST processing was also rewritten to not allocate memory. Since
memory may be unaligned we still iterate over the buffer and memcpy()
to an integer to avoid alignment errors.
2016-11-24 18:55:43 -02:00
Gustavo Sverzut Barbieri d0b7d876a7 efl_io_queue: add discard method, useful in real life.
While using efl_io_queue + slice_get I found that we need to discard
data and the only way was to read to an actual buffer, kinda annoying.

Then introduce a discard method to do that.
2016-11-24 18:55:43 -02:00
Bruno Dilly 1e62cd562e ecore_wl2: avoid adding repeated devices
Summary:
After changes done on commit 9f8e2e0d9c
it was possible to have multiple devices with the same
id added throught the function
_ecore_evas_wl_common_cb_global_added().

To avoid such issue, let's check if the device was already
created first.

Reviewers: iscaro

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4428
2016-11-24 18:31:23 -02:00
Jean Guyomarc'h 2a75a47b19 efl_ui_win: fix build with no support for X 2016-11-24 20:24:19 +01:00
Gustavo Sverzut Barbieri 4c0187609f efl_debug: filter own pid.
it's confusing and not helpful to report your own PID in 'list'
command.
2016-11-24 15:31:32 -02:00
Gustavo Sverzut Barbieri 4b28d5a989 docs: enhance efl_io_copier.
This is the core component of our new I/O subsystem, heavily used by
efl.net and the likes. Then make sure the documentation is good :-)
2016-11-24 15:22:45 -02:00
Stefan Schmidt d859d693be docs: efl_io_copier: fill gaps in eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt 3f0f1b68f0 docs: efl_pack_grid: fill gaps in eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt 0d930b3c7d docs: elm: fill gaps in separator, view_form and view_list eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt a7b2b6fdc0 docs: elm: fill gaps in button, color, combobox and conformant eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt f9272570c5 docs: elm: fill gaps in config, efl_ui_win and actionslider eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt 98e50b0751 docs: elm: fill gaps in diskselector, entry and gesture_layer eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt f8494aafd4 docs: elm: fill gaps in segment_control and slideshow eo file documentation 2016-11-24 15:33:09 +01:00
Stefan Schmidt 6fc80f75c7 docs: elm: fill gaps in panel, photocam and progressbar eo file documentation 2016-11-24 15:33:09 +01:00
Stefan Schmidt c52bd50eba docs: elm: fill gaps in hover, hoversel and notify eo file documentation 2016-11-24 15:33:09 +01:00
Stefan Schmidt 58a3fea061 docs: elm: fill gaps in systray, table, thumb and web eo file documentation 2016-11-24 15:33:09 +01:00
Shinwoo Kim 6536837c59 elementary: [atspi] using utf-8 text not markup text 2016-11-24 21:35:10 +09:00
Stefan Schmidt c322b65aa0 docs: elm: fill gaps in prefs, radio, route, slider and spinner eo file docs 2016-11-24 11:50:22 +01:00
Stefan Schmidt 724e80dd13 docs: elm_multibottonentry: fill gaps in eo file documentation 2016-11-24 11:48:52 +01:00
Stefan Schmidt 144ba2480e docs: elm: fill gaps in glview, pan, panes, photo and plug eo file documentation 2016-11-24 11:46:51 +01:00
Stefan Schmidt e27a728079 docs: elm: fill gaps in box, grid, icon, inwin and label eo file documentation 2016-11-24 11:44:04 +01:00
Stefan Schmidt c59ef441cf docs: elm_mapbuf: fill gaps in elm_mapbuf eo file docuemntation 2016-11-24 11:41:05 +01:00
Jean-Philippe Andre 61c8d7f46e win: Disable CSD shadow if alpha and borderless
If the content has alpha, we can't ensure that the square shadow
will look good. So, hide it.
2016-11-24 17:49:17 +09:00
Jean-Philippe Andre 246023d1b3 win: Fix (hack around) E internal windows in Wayland
My previous patches have broken E Wayland internal windows, as
the compositor wants to create Server-Side Decorations[1] but
based on some mysterious heuristics, E will decide to show or
not SSD. It seems the surface geometry, window geometry,
input region and maybe opaque region need to all match. There
was a pixel difference in the theme which broke everything,
also CSD shadows must be turned off in that case.

This also fixes inputs as for some reason a mismatching input
region vs window geometry would break pointer move/up/down in
those internal windows.

[1] I believe this is not a great idea and E should never draw
    any server-side decorations in Wayland. Wayland was supposed
    to mean only CSD, no more SSD.
2016-11-24 17:05:27 +09:00
Hermet Park 4584fe5721 efl path: add missing value intializing.
It might be broken at some particular vector drawing.
2016-11-24 15:58:37 +09:00
Gustavo Sverzut Barbieri c2cb5defe3 efl_net_dialer_http: use efl_loop_fd now that it's fixed.
now that efl_loop_fd manages callbacks -> Ecore_Fd_Handler properly,
we can remove the old code.
2016-11-24 02:13:32 -02:00
Gustavo Sverzut Barbieri 49399b385b efl_io_std{in,out,err}: do not spin on fd monitoring events.
as soon as we report 'can_read' or 'can_write', stop monitoring the
events until the user executes the operation, which will clear these
flags and we resume monitoring.
2016-11-24 02:11:56 -02:00
Gustavo Sverzut Barbieri 7edc1ef49d efl_net_socket_fd: fix copy & paste too much. 2016-11-24 02:11:56 -02:00
Artem Popov 7372b1d156 Edje: add checking on NULL 3-rd parameter in edje_object_part_external_param_type_get()
@fix

Summary: add checking on NULL 3-rd parameter (param) before strcmp to avoid segfault

Reviewers: cedric, jpeg, NikaWhite, myoungwoon, Hermet

Reviewed By: Hermet

Subscribers: Hermet, t.naumenko

Differential Revision: https://phab.enlightenment.org/D4424
2016-11-24 12:13:36 +09:00
Hosang Kim 791bdcb7b2 scroller: add key action move option.
Summary:
when scroller page is enabled and key is pressed,
scroller will move in page by page.

Test Plan: elementary_test -> scroller

Reviewers: woohyun, cedric, jaehwan, raster, Hermet

Subscribers: akanad, jpeg

Differential Revision: https://phab.enlightenment.org/D4425
2016-11-24 12:10:45 +09:00
Cedric Bail 6b165089a6 eo: make it possible to disable batch allocation for callbacks. 2016-11-23 18:50:19 -08:00
Cedric Bail f4527c7283 eo: when there is no more callbacks, let's clean up. 2016-11-23 18:50:19 -08:00
Cedric Bail b5fedfad7e ecore: use mempool for legacy idler allocation. 2016-11-23 18:50:19 -08:00
Gustavo Sverzut Barbieri 35cdde67d2 efl_net_socket_fd: do not spin on fd monitoring.
If we let the user know he can read or write, stop monitoring
otherwise fd handler will constanly report of data to read/write until
its actually done, which would clear the kernel flag.

Since we use "can_read" and "can_write" for that, toggle the callback
connection that manages the actual Ecore_Fd_Handler monitor.
2016-11-24 00:45:55 -02:00
Gustavo Sverzut Barbieri 92a3361deb efl_net_server_fd: do not spin if clients can be accepted.
If we have incoming clients but we do not want to drop or handle then,
stop monitoring the fd's read, otherwise we constantly spin the main
loop.
2016-11-24 00:42:54 -02:00
Gustavo Sverzut Barbieri 906bf6abf0 efl_loop_fd: more efficiently manage the Ecore_Fd_Handler.
instead of always delete and recreate it, modify if it already exists
and only delete if it's not needed anymore.

This results in epoll_ctl() to modify an existing handle, instead of
add one.
2016-11-24 00:30:02 -02:00
Gustavo Sverzut Barbieri 0a8fd379db efl_loop_fd: reduce number of _efl_loop_fd_reset()
When we're adding callbacks in an array, we may reduce 3 epoll_ctl()
to a single one.
2016-11-24 00:21:54 -02:00
Gustavo Sverzut Barbieri f1b94bdf7b efl_loop_fd: fix comparison that was breaking callback deletion.
Either we "--var" or we compare with "> 1" instead of "> 0", otherwise
callback_del will keep the flags set.
2016-11-24 00:17:59 -02:00
Gustavo Sverzut Barbieri 9805f4ec36 ecore_ipc: isolate legacy within ifdefs.
Compile out the legacy code when running on platforms that support
Efl.Net.Dialer.Unix and Efl.Net.Server.Unix.
2016-11-23 22:35:48 -02:00
Gustavo Sverzut Barbieri 400f3932d9 ecore_ipc: fix user after free in error handling.
Fixes Coverity 1366274.
2016-11-23 22:15:25 -02:00