Commit Graph

13 Commits

Author SHA1 Message Date
Daniel Kolesa fcae7cab27 eolian gen: enable constness generation on property getter impls
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.

Ref T6859.
2018-04-17 20:31:55 +02:00
Carsten Haitzler 78d7fded5d efl exe - map some "well known" exit codes to specific errnos 2018-04-05 18:52:57 +09:00
Carsten Haitzler 6fbf6d6c67 efl task - support flag to ignore exit code errors for future resolve 2018-04-05 18:52:57 +09:00
Carsten Haitzler 308e9586dd ecore - efl exe - use better exit codes
127 is the "command not found" shell exeit code, 126 is "the command
file is found but is not executable" which i think i'd interpret not
just for execute permissions but that something is preventing it from
executing in general.
2018-03-26 23:17:56 +09:00
Carsten Haitzler 0a3e7c05e4 ecore - efl exe + thread - error print if deleted before task is done
both exe and thread objects must (currently) stay around until the
child thread or exe (task) is done. if you don't do this "bad things
can happen". so produce an error to let the programmer know.
2018-03-26 23:17:56 +09:00
Carsten Haitzler 6391a13558 efl.task - move to returning future insead of bool + exit event
title says it all...
2018-03-20 20:56:46 +09:00
Carsten Haitzler 965f257e70 ecore - efl exe/thread - only allow run once ever 2018-03-10 20:02:09 +09:00
Carsten Haitzler 1ac60fe022 ecore efl exe/task/thread - move stdin/out flags to task class
also use them in efl thread to determine if io handlers are set up and
pipes created at all etc.
2018-03-07 02:32:15 +09:00
Carsten Haitzler 6c0ed8fe76 efl exe - fix indent 2018-03-03 17:57:17 +09:00
Carsten Haitzler 1bdd9e4dd1 ecore - a different take on efl.app class as a super class to efl.loop
so the MAIN loop is actually an efl.app object. which inherits from
efl.loop. the idea is that other loops in threads will not be efl.app
objects. thread on the creator side return an efl.thread object.
inside the thread, like the mainloop, there is now an efl.appthread
object that is for all non-main-loop threads.

every thread (main loop or child) when it spawns a thread is the
parent. there are i/o pipes from parnet to child and back. so parents
are generally expected to, if they want to talk to child thread, so
use the efl.io interfaces on efl.thread, and the main loop's elf.app
class allows you to talk to stdio back to the parent process like the
efl.appthread does the same using the efl.io interfaces to talk to its
parent app or appthread. it's symmetrical

no tests here - sure. i have been holding off on tests until things
settle. that's why i haven't done them yet. those will come back in a
subsequent commit

for really quick examples on using this see:

https://phab.enlightenment.org/F2983118
https://phab.enlightenment.org/F2983142

they are just my test code for this.

Please see this design document:

https://phab.enlightenment.org/w/efl-loops-threads/
2018-03-03 13:40:33 +09:00
Jean Guyomarc'h 7ff60afe5c efl_exe: check the calls to pipe(2)
Some glibc versions declare pipe(2) with a warn unused result attribute,
leading to compile-time warnings when pipe(2)'s return value is not
checked.

If pipe(2) fails, we now print an error and make the calling function
fail.
2018-02-25 10:38:57 +01:00
Carsten Haitzler 885ea03230 ecore - osx - build where clearenv doesnt exist
osx was uncivilied .... it didn't have a nice clearenv. fixed that now
and do it the not so nice way and juat set environ to NULL
2018-02-22 00:15:57 +09:00
Carsten Haitzler 47ff2d8126 ecore - start work on efl task/exe/thread
this is  astart of the work for having a common task class/interface
between loops, threads ane exe's so the i/o is all symmetric and works
the same way between all of them as well as similarly for launching
and knowing when the exit etc. etc.

this is not final and not perfect, but it's a start. comments of
course welcome
2018-02-21 16:56:38 +09:00