jobs: Refactor exiting jobs 70/20870/1
authorJosé Bollo <jose.bollo@iot.bzh>
Fri, 15 Feb 2019 19:49:54 +0000 (20:49 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Tue, 2 Apr 2019 07:58:49 +0000 (09:58 +0200)
commit901a38c28bf3fe7cc3e58e3fad36190fbae585be
treefe2f0ed7fd1153a9a5a9006628f8864877763724
parent50deefa0f08b88b99748abd57560222744d2f8db
jobs: Refactor exiting jobs

The new termination function can allow the restart
because it doesn't abort the waiting jobs.

So after calling 'jobs_exit', all threads stop.
The function 'job_start' returns.

The threads that are in blocking state, i.e. in
a call to 'jobs_enter' or 'jobs_call' are stopped.
An error status -1 with errno=EINTR is returned in
that case.

But before returning, that function calls the exit
handler if any.

Change-Id: I85a4b1976b09b18804eb681af940531ae5ace6c3
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/jobs.c
src/jobs.h
src/main-afb-daemon.c