Lines Matching refs:content

32 static void NotifyResToParent(struct AppSpawnContent *content, AppSpawnClient *client, int result)
35 if (content->notifyResToParent != NULL) {
36 content->notifyResToParent(content, client, result);
89 int AppSpawnChild(AppSpawnContent *content, AppSpawnClient *client)
91 APPSPAWN_CHECK(content != NULL && client != NULL, return -1, "Invalid arg for appspawn child");
94 int ret = AppSpawnExecuteClearEnvHook(content, client);
97 NotifyResToParent(content, client, ret);
98 AppSpawnEnvClear(content, client);
103 if (content->coldStartApp != NULL && content->coldStartApp(content, client) == 0) {
109 SetEncapsFlag(content->fdEncaps, OH_PROC_APP);
112 ret = AppSpawnExecuteSpawningHook(content, client);
115 NotifyResToParent(content, client, ret);
116 AppSpawnEnvClear(content, client);
119 ret = AppSpawnExecutePreReplyHook(content, client);
122 NotifyResToParent(content, client, ret);
123 AppSpawnEnvClear(content, client);
128 NotifyResToParent(content, client, 0);
132 (void)AppSpawnExecutePostReplyHook(content, client);
135 if (content->runChildProcessor != NULL) {
136 ret = content->runChildProcessor(content, client);
139 AppSpawnEnvClear(content, client);
146 APPSPAWN_CHECK(arg != NULL, return -1, "Invalid content for appspawn");
148 ProcessExit(AppSpawnChild(forkArg->content, forkArg->client));
153 static void NwebSpawnCloneChildProcess(AppSpawnContent *content, AppSpawnClient *client, pid_t *pid)
157 arg.content = content;
167 *pid = clone(CloneAppSpawn, NULL, content->sandboxNsFlags | SIGCHLD, (void *)&arg);
170 *pid = clone(CloneAppSpawn, NULL, content->sandboxNsFlags | SIGCHLD, (void *)&arg);
175 static void AppSpawnForkChildProcess(AppSpawnContent *content, AppSpawnClient *client, pid_t *pid)
186 ProcessExit(AppSpawnChild(content, client));
192 int AppSpawnProcessMsg(AppSpawnContent *content, AppSpawnClient *client, pid_t *childPid)
194 APPSPAWN_CHECK(content != NULL, return -1, "Invalid content for appspawn");
197 client->id, content->mode, content->sandboxNsFlags);
201 if (content->mode == MODE_FOR_NWEB_SPAWN) {
202 NwebSpawnCloneChildProcess(content, client, &pid);
207 AppSpawnForkChildProcess(content, client, &pid);