CIA.vc
Ecore
Enlightenment's core event abstraction layer and OS abstraction layer
Stats » Projects » Enlightenment » Ecore
information
Photo
Ecore is a clean and tiny event loop library with many modules to do lots of convenient things for a programmer, to save time and effort. It's small and lean, designed to work on embedded systems all the way to large and powerful multi-cpu workstations. It serialises all system signals, events etc. into a single event queue, that is easily processed without needing to worry about concurrency. A properly written, event-driven program using this kind of programming doesn't need threads, nor has to worry about concurrency. It turns a program into a state machine, and makes it very robust and easy to follow. Ecore gives you other handy primitives, such as timers to tick over for you and call specified functions at particular times so the programmer can use this to do things, like animate, or time out on connections or tasks that take too long etc. Idle handlers are provided too, as well as calls on entering an idle state (often a very good time to update the state of the program). All events that enter the system are passed to specific callback functions that the program sets up to handle those events. Handling them is simple and other Ecore modules produce more events on the queue, coming from other sources such as file descriptors etc. Ecore also lets you have functions called when file descriptors become active for reading or writing, allowing for streamlined, non-blocking IO. Ecore may provide (if enabled) the following libraries: * ecore: main loop, signals, and base; * ecore_con: http/ftp (curl) access; * ecore_file: easy file manipulation (copy, move, symlink, remove), monitoring and directory (mkdir, mkdir -p, rm -fr); * ecore_txt: text charset conversion (iconv wrapper); * ecore_evas: integrates <pkg>media-libs/evas</pkg> into different input and output systems, providing easy to use canvas; * ecore_x, ecore_sdl, ecore_quartz, ecore_directfb, ecore_win32, ecore_wince, ecore_fb: access to different input/output systems, mapping them to ecore main loop and events; * ecore_imf, ecore_imf_evas: input-method framework used to integrate with different input methods such as virtual keyboards; * ecore_input, ecore_input_evas: abstraction of input events.
syndicateUTC clock
13:29 on Feb 13, 2012
event counters
The last message was received 3.21 hours ago at 10:16 on Feb 13, 2012
1 messages so far today, 1 messages yesterday
1 messages so far this week, 21 messages last week
27 messages so far this month, 77 messages last month
1688 messages since the first one, 2.02 years ago, for an average of 10.49 hours between messages
recent messages
dateReversed sort columnprojectcontentlink
10:16 todaye
Commit by raster :: r67874 ecore/src/lib/ecore_ipc/ecore_ipc.c: (link)
From: 윤정현 <jh0506 dot yun at samsung dot com>
Subject: Re: [E-devel] [Patch] ecore_ipc - remove potential risk in
ecore_ipc_shutdown

I found a problem this infinite loop case.

If server is deleted, then ECORE_IPC_EVENT_SERVER_DEL callback
function will be called in client side.
It will happen infinite loop in ecore_ipc_shutdown if
ecore_ipc_shutdown called in this ECORE_IPC_EVENT_SERVER_DEL callback
function.

For example,
server_del_handler =
ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL, _server_del_cb, NULL);
static Eina_Bool
_server_del_cb(void *data, int type, void *event)
{
   ecore_ipc_shutdown();
   return EINA_TRUE;
 }

If server is deleted,
1. _ecore_ipc_event_server_del : svr->event_count++
2. _server_del_cb : ecore_ipc_shutdown called
3. ecore_ipc_shutdown : while (servers) ecore_ipc_server_del(eina_list_data_get(servers))
4. ecore_ipc_server_del : can't eina_list_remove(servers, svr) because event_count != 0
5. infinite loop

I think this while code is very dangerous whether user miss or not.
I modified EINA_LIST_FOREACH_SAFE instead of EINA_LIST_FOREACH refer
to ecore_con.
Please review this patch.
#
14:27 yesterdaye
Commit by jihoon :: r67852 ecore/src/modules/immodules/scim/scim_imcontext.cpp: (link)
scim_immodule: set cursor location even though only client_window is provided without evas (ecore_imf_context_client_canvas_set)
#
16:52 Fridaye
Commit by rfonseca :: r67825 ecore/src/lib/ecore_evas/ecore_evas_cocoa.c: (link)
Ecore_Evas_Cocoa: fix header include name.
#
14:02 Fridaye
Commit by devilhorns :: r67820 ecore/ChangeLog: (link)
Ecore: Add ChangeLog entries for new ecore_evas_wayland function.
#
14:01 Fridaye
Commit by devilhorns :: r67819 ecore/src/lib/ecore_evas/ (2 files): (link)
Ecore_Evas (wayland): Disable logfn's (again) :( Remove extra parens.
#
12:41 Fridaye
Commit by devilhorns :: r67816 ecore/src/lib/ecore_evas/ (5 files): (link)
Ecore_Evas: Add functions for setting wayland mouse pointer (used from
elm wayland clients).
#
03:28 Fridaye
Commit by jihoon :: r67801 ecore/ (2 files in 2 dirs): (link)
scim_immmodule: Provide compose, string in key down/up event in case of scim-input-pad.
#
11:41 Thursdaye
Commit by devilhorns :: r67782 ecore/src/lib/ecore_wayland/Ecore_Wayland.h: (link)
Ecore_Wl: Add function in header.
#
11:39 Thursdaye
Commit by devilhorns :: r67781 ecore/src/lib/ecore_wayland/ecore_wl.c: (link)
Ecore_Wl: Also send mouse move before sending mouse down/up. Add some
missing Logfn's. Add handler to free the mouse_move event when we're
done with it. Add a function to retrieve the 'last mouse button down
time' (needed for fixing surface move).
#
11:37 Thursdaye
Commit by devilhorns :: r67780 ecore/src/lib/ecore_evas/ (2 files): (link)
Ecore_Evas (Wayland): Fix getting double mouse events for the wayland
engines.

NB: Fixes elementary momentum scrolling.
#
07:17 Thursdaye
Commit by jihoon :: r67779 ecore/src/lib/ecore_imf/ecore_imf_context.c: (link)
ecore_imf_context.c: fix formatting
#
04:14 Thursdaye
Commit by discomfitor :: r67777 ecore/NEWS: (link)
add new curl function to news
#
02:22 Thursdaye
Commit by discomfitor :: r67774 ecore/src/lib/ecore_con/Ecore_Con.h: (link)
@since from @67759
#
00:50 Thursdaye
Commit by discomfitor :: r67772 ecore/src/lib/ecore_con/ecore_con_url.c: (link)
fix compile without curl from @67759, also add missing magic check
SPANK SPANK SPANK RASTER
#
20:14 Wednesdaye
Commit by tasn :: r67768 ecore/src/tests/ecore_test_ecore_x.c: (link)
Ecore tests: Disable ecore_x tests in the meanwhile.

They are currently useless and just cause buildbot to complain.
#
16:49 Wednesdaye
Commit by raster :: r67759 ecore/ (3 files in 2 dirs): (link)
add ecore_con_url_http_version_set() to be able to specify request
version
#
13:54 Tuesdaye
Commit by jihoon :: r67728 ecore/ (4 files in 2 dirs): (link)
Support ecore_imf_context_input_panel_show/hide in SCIM module
#
13:33 Tuesdaye
Commit by jihoon :: r67727 ecore/ (2 files in 2 dirs): (link)
ecore_imf_xim: Support ecore_imf_context_input_panel_show/hide in XIM module.
#
05:53 Tuesdaye
Commit by jihoon :: r67723 ecore/src/lib/ecore_imf/Ecore_IMF.h: (link)
Ecore_IMF.h: fix wrong documentation about Ecore_IMF_Preedit_Attr
#
13:09 on Feb 06e
Commit by jihoon :: r67711 ecore/ (5 files in 4 dirs): (link)
ecore_imf: Add Ecore_IMF function to set or get the input panel-specific data
#