Code Review
/
src
/
app-framework-main.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
afm-user-daemon: prepare to launch with mode
[src/app-framework-main.git]
/
src
/
afm-run.c
diff --git
a/src/afm-run.c
b/src/afm-run.c
index
4e002e0
..
c414ceb
100644
(file)
--- a/
src/afm-run.c
+++ b/
src/afm-run.c
@@
-32,8
+32,9
@@
#include "verbose.h"
#include "utils-dir.h"
#include "utils-json.h"
#include "verbose.h"
#include "utils-dir.h"
#include "utils-json.h"
-#include "afm-
run
.h"
+#include "afm-
launch-mode
.h"
#include "afm-launch.h"
#include "afm-launch.h"
+#include "afm-run.h"
enum appstate {
as_starting,
enum appstate {
as_starting,
@@
-239,10
+240,12
@@
static void on_sigchld(int signum, siginfo_t *info, void *uctxt)
/**************** handle afm_launch_desc *********************/
/**************** handle afm_launch_desc *********************/
-static int fill_launch_desc(struct json_object *appli, struct afm_launch_desc *desc)
+static int fill_launch_desc(struct json_object *appli,
enum afm_launch_mode mode,
struct afm_launch_desc *desc)
{
json_object *pub;
{
json_object *pub;
+ assert(launch_mode_is_valid(mode));
+
/* main items */
if(!j_read_object_at(appli, "public", &pub)
|| !j_read_string_at(appli, "path", &desc->path)
/* main items */
if(!j_read_object_at(appli, "public", &pub)
|| !j_read_string_at(appli, "path", &desc->path)
@@
-265,20
+268,23
@@
static int fill_launch_desc(struct json_object *appli, struct afm_launch_desc *d
/* finaly */
desc->home = homeappdir;
/* finaly */
desc->home = homeappdir;
+ desc->mode = mode;
return 0;
};
/**************** API handling ************************/
return 0;
};
/**************** API handling ************************/
-int afm_run_start(struct json_object *appli)
+int afm_run_start(struct json_object *appli
, enum afm_launch_mode mode, char **uri
)
{
static struct apprun *runner;
struct afm_launch_desc desc;
int rc;
sigset_t saved, blocked;
{
static struct apprun *runner;
struct afm_launch_desc desc;
int rc;
sigset_t saved, blocked;
+ assert(launch_mode_is_valid(mode));
+
/* prepare to launch */
/* prepare to launch */
- rc = fill_launch_desc(appli, &desc);
+ rc = fill_launch_desc(appli,
mode,
&desc);
if (rc)
return rc;
runner = createrunner(appli);
if (rc)
return rc;
runner = createrunner(appli);
@@
-291,7
+297,7
@@
int afm_run_start(struct json_object *appli)
sigprocmask(SIG_BLOCK, &blocked, &saved);
/* launch now */
sigprocmask(SIG_BLOCK, &blocked, &saved);
/* launch now */
- rc = afm_launch(&desc, runner->pids);
+ rc = afm_launch(&desc, runner->pids
, uri
);
if (rc < 0) {
/* fork failed */
sigprocmask(SIG_SETMASK, &saved, NULL);
if (rc < 0) {
/* fork failed */
sigprocmask(SIG_SETMASK, &saved, NULL);