efl task - support flag to ignore exit code errors for future resolve
This commit is contained in:
parent
6e308e6039
commit
6fbf6d6c67
|
@ -193,8 +193,10 @@ _exe_exit_eval(Eo *obj, Efl_Exe_Data *pd)
|
|||
Eina_Promise *p = pd->promise;
|
||||
int exit_code = efl_task_exit_code_get(obj);
|
||||
pd->promise = NULL;
|
||||
if (exit_code != 0) eina_promise_reject(p, exit_code + 1000000);
|
||||
else eina_promise_resolve(p, eina_value_int_init(0));
|
||||
if ((exit_code != 0) && (!(efl_task_flags_get(obj) &
|
||||
EFL_TASK_FLAGS_NO_EXIT_CODE_ERROR)))
|
||||
eina_promise_reject(p, exit_code + 1000000);
|
||||
else eina_promise_resolve(p, eina_value_int_init(exit_code));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,9 +12,10 @@ enum Efl.Task.Priority {
|
|||
|
||||
enum Efl.Task.Flags {
|
||||
[[ ]]
|
||||
none = 0,
|
||||
use_stdin = 1,
|
||||
use_stdout = 2
|
||||
none = 0,
|
||||
use_stdin = 1,
|
||||
use_stdout = 2,
|
||||
no_exit_code_error = 4,
|
||||
}
|
||||
|
||||
class Efl.Task (Efl.Object, Efl.Io.Reader, Efl.Io.Writer, Efl.Io.Closer)
|
||||
|
|
|
@ -323,8 +323,10 @@ _thread_exit_eval(Eo *obj, Efl_Thread_Data *pd)
|
|||
Eina_Promise *p = pd->promise;
|
||||
int exit_code = efl_task_exit_code_get(obj);
|
||||
pd->promise = NULL;
|
||||
if (exit_code != 0) eina_promise_reject(p, exit_code + 1000000);
|
||||
else eina_promise_resolve(p, eina_value_int_init(0));
|
||||
if ((exit_code != 0) && (!(efl_task_flags_get(obj) &
|
||||
EFL_TASK_FLAGS_NO_EXIT_CODE_ERROR)))
|
||||
eina_promise_reject(p, exit_code + 1000000);
|
||||
else eina_promise_resolve(p, eina_value_int_init(exit_code));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue