Register PPD and release_handler at the same time.

Fix that process will remain even if signal is received between PPD
registration and release_handler registration.

Refs: #1201
Fujitsu: POSTK_DEBUG_TEMP_FIX_64
Change-Id: I571781963578df8cedb327f19298f595cfb137a3
This commit is contained in:
Tomoki Shirasawa
2019-02-08 10:20:58 +09:00
parent f5023c9730
commit ff0395581c
10 changed files with 182 additions and 24 deletions

View File

@@ -3807,7 +3807,6 @@ gettid_out:
/* Child process */
case 0: {
int ret = 1;
struct newprocess_desc npdesc;
struct rpgtable_desc rpt;
ischild = 1;
@@ -3879,9 +3878,6 @@ fork_child_sync_pipe:
fork_sync_top = NULL;
pthread_mutex_init(&fork_sync_mutex, NULL);
npdesc.pid = getpid();
ioctl(fd, MCEXEC_UP_NEW_PROCESS, &npdesc);
/* TODO: does the forked thread run in a pthread context? */
while (getppid() != 1 &&
fs->success == 0) {