in general, this should provide an improvement which scales with the amount of data being transferred:
* small transfers will incur a small amount of overhead from potentially unneeded memory as I try to account for a bug in FIONREAD which returns a number that is smaller than the actual number of bytes available for read on a socket
* large transfers will no longer require any copies of the data
on systems which do not provide the FIONREAD ioctl(), old functionality will be used
this should work on windows, though I (obviously) can't test it myself
thus ends the longest commit message I have ever written
SVN revision: 66063
ECORE-CON-SOCKS! SOCKS ON!!!!
now ecore_con supports socks (v4 and v4a only, so no ipv6) connections natively for making remote connections
for those of you who want their apps to start proxying immediately, just update and export this handy environment variable:
ECORE_CON_SOCKS_V4=[user@]PROXY_IP_ADDRESS:PROXY_PORT[:1] <--use :1 here to enable dns lookups on the proxy
SVN revision: 65934
replace \+ by + as it should be
add -E option to grep, handle the + in expression
Patch from OpenBSD via Jonathan Armani <armani@openbsd.org>
SVN revision: 65032
Subject: Re: review request : ecore x patch for X Gesture extention
Do you remember that I told you X gesture extension patch for ecore x ?
I’d like to put the attached patch to ecore_x in upstream.
This patch is just for initializing/receiving X gesture extension stuff.
Would you please put this in SVN ? : )
Thanks and regards,
Sung-Jin Park
SVN revision: 64732
EWS is a new Ecor_Evas engine that builds on top of other engines. It
will create a backing store Ecore_Evas and ecore_evas_ews_new()
windows are created in it as images, but transparent to the outside
users (similar to buffer's ecore_evas_object_image_new()).
It provides a basic windowing system, with a known background object
that can be changed to your pleasure, and issue Ecore_Events to notify
of new windows and changes like movement, etc. Then you can write a
simple window manager based on it. (See example, Elementary will
contain one as well).
Backing store is determined by your best engine (as in
ecore_evas_new()) or specified with ecore_evas_ews_engine_set() or
environment variable $ECORE_EVAS_EWS (format:
engine-name❌y:w:h:options). The size can be set with
ecore_evas_ews_setup().
SVN revision: 63848
Note: maybe it would be better to put yes in the .pc file
instead of static. I don't see any advantage having that
information in the pc file.
SVN revision: 62412
(based on patch from Boris Faure)
NB: This is untested/unsupported code. Ymmv, but using/compiling
ecore_x with versions of xcb > 0.3.6 is not supported yet (until such
time that standard distros support 0.3.8 out of the box).
SVN revision: 61971
Thread safety is disabled by default.
Enable it with --enable-thread-safety
Should cover timers, events, animators, idlers and fd handlers.
Tested with Enlightenment and elementary_test.
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 61851
near finished yet). Add working OpenGL for XCB engine.
NB: wrt Opengl...Raster, this is the env var/dlsym version you
requested this morning ;)
NB: Basically what happens is, if you know you do not ever want/use
opengl, you can export ECORE_X_NO_XLIB env variable, and ecore_x will
use pure xcb to establish it's X connection. However, if you do use
OpenGL and this env var is not exported, then ecore_x(cb) will use
XOpenDisplay to init the connection.
SVN revision: 61724
NB: IF you are going to try this, build evas with
`--enable-software-xcb` AND build ecore with `--enable-ecore-x-xcb
--disable-ecore-evas-opengl-x11`.
NB: OpenGL does NOT work with the xcb stuff yet. E itself does NOT
work with this yet either (still have to commit those changes).
SVN revision: 61385
glib only allows millisecond resolution in g_main_loop.
To avoid this limitation, use timerfd to wake up the main loop.
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 61079
Subject: [E-devel] XRender engine causes ecore build failure
while building ecore. The problem is that this engine was removed from evas
but not yet completely from ecore. I was on IRC with Vincent Torri (vtorri)
and Daniel Juyung Seo (SeoZ) and the consensus was to remove the code for the
XRender engines, both the Xlib and XCB versions.
There is a switch over the different engine types, where there are still a few
places left where XRender is handled, grep for "xrender" or "XRENDER" and you
will find them. The question is whether to just return NULL in order to signal
that this engine is not supported or to remove the whole thing. The latter
could break binary compatibility, therefore I left those stubs in.
SVN revision: 60502
The ecore_con module needed a port of the local connections
with named pipes. The other connections (TCP, UDP) are using
BSD sockets, which are also used on Windows.
No abstract sockets on Windows.
NB: Should I backport that commit to 1.0 ?
SVN revision: 59385
Use isfinite() if available, otherwise use finite() on
compilers != vc++, otherwise use _finite()
and a bit of formatting too (i know, it's bad)
SVN revision: 58566
* check if clock_gettime() is in libc first, then in librt
some systems have these functions in libc, or in a specific lib.
This allows to correctly set dlopen_libs and rt_libs variables.
SVN revision: 55821
simply a pain. no more tests within src trees. talk to gentoo if you
don't like it. i wasted enough of my day already trying to talk sense
into them. if we dont tempt them with stuff they dont comprehend then
its less pain for us having to answer their questions.
SVN revision: 55635
This is an attempt to fix the epoll/fork() issue reported to me where
we end up with a single epoll fd shared between two processes after a
fork() in E.
I've tested with elementary test in epoll and non-epoll combinations,
and all appears to be well. Please check it solves the issue you saw,
and reformat the code as you see fit... ;-)
SVN revision: 53670
AC_CHECK_FUNCS checks for the existence of functions in the C standard
library, so we don't need it. Instead, we need to define
HAVE_CLOCK_GETTIME if the function was found inside the librt.
Moreover, in source file check if HAVE_CLOCK_GETTIME is defined rather
than of checking if it's 0.
SVN revision: 52863
Instead of relying on unix time, use a monotonic clock provided by
clock_gettime(). If a monotonic clock is not available, it will fallback
to CLOCK_REALTIME or unix time if neither is available.
The impact is that now it only makes sense to call ecore_time_get() or
ecore_time_loop_get() if the value retrieved is intended to be used as
relative to previous/posterior measurements. If an absolute value is
needed, the right function to call now is ecore_time_unix_get() which
will give the number of seconds since Jan 1st, 1970, 12:00AM.
SVN revision: 52824
This patch implements the ecore main loop in terms of the GTK main loop, so
ecore is a layer on top of glib.
Compared the the current glib integration in ecore, this has the added
advantage of allowing use of EFL libraries in GTK.
SVN revision: 51113
Subject: [E-devel] 8bpp xcb evas engine
Hi all,
I've implemented the 8bpp grayscale evas engine. It is based on the 16bpp
engine. It would be nice if someone could review the code and maybe commit
into svn. The patches against evas and ecore are attached.
SVN revision: 50561