Summary: This feature replaces Eo pointers with ids to prevent bad usage
or reuse of these pointers. It doesn't change API.
The mechanism uses tables storing the real pointers to the objects.
See the src/lib/eo/eo_ptr_indirection.c file for more details on the
mechanism.
Now instead of having ifdefs in the .c files we just don't compile the
ones we don't need. Much cleaner.
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
* Use Eina_Hash instead of Eina_List to remember what memory did change.
* Turn off Eina_Cow use of Eina_Magic when doing a release as it is only
used internaly and we should not make any mistake there.
NOTE: if you start your process with Systemd it will automatically use
Journald API. You will need to overide the default logging function to
change that behavior.
in a move which is sure to make me hugely unpopular once again, I'm blacklisting a huge number of gnutls versions which I can't compile because at least some of them are 100% broken and will not work. the rage forecast is looking to see some hot winds blowing in from the debian/ubuntu quagmires, though users from more modern regions are not likely to notice any changes
- Pass EVIL_CFLAGS to C++ compiled files (needed for -DEF_EVIL_BUILD)
- Some warning flags should not be passed to C++ compiler, so put them in another variable
Be careful, systemd socket activation require you to always order
server socket creation in the same order as defined in the unit file.
This means ecore_con_server_add should always been in the same order
for those of them using systemd socket activation.
Support for older system that don't come with libmount or have
an older libmount. This is a backport from Eeze 1.7 tree. There
is no code change there.
That work clearly was possible thanks to Leandro. If you want more information
go to his blog : http://tia.mat.br/posts/async_io_with_coroutines/ .
The main difference with his implementation is more portable and not thread safe.
It does not have a custom swapcontext (would make sense as we don't need to save
the sigcontext) so it will be less fast. If people are ready to contribute asm
patch for that purpose I will be happy to apply them.
As for portability this code should work on all architecture we already support
thanks to a nice hack with setjmp/longjmp borowed from libcoroutine. We do use
Fiber for Windows support, but as 1.8 is completely borken in that regard, this
is theorical work only.
Thinks left to do :
- Eoify the API
- Documentation
- More tests
- Add support for coroutine in fd handler
- Add coroutine support to ecore_thread api
- Write some example
Signal are not a portable way to detect memory mapped file corruption.
So let's disable it for system without signal and later find a way to
detect it on other system.
This should make it easier for applications to use efl with cmake.
It seems to work with my tests. It's ugly and redundant but it's the first
step. Not all the components are supported at the moment.
SVN revision: 83637
seems autoconf is stupid and cannot agree on a single variable to
store stuff, if you give ./configure CXX=bla it will change
everything.
Relax the test and just use CXX, if it's set, believe it's usable.
SVN revision: 83008
strange that nobody except hdante noticed this before, but it was
missing linkage with -lrt in libemotion (due generic being static) and
ecore_evas/extn.
SVN revision: 83007