Skip to content
This repository has been archived by the owner on Jan 20, 2022. It is now read-only.

Commit

Permalink
[LibOS] Do not print errors on last TID release failure
Browse files Browse the repository at this point in the history
If the IPC leader exits before all processes released their last IDs,
those processe would exit with bunch of errors. Unfortunately this can
happen legitimately, if the IPC leader exits right after doing `wait`
syscall.

Signed-off-by: Borys Popławski <[email protected]>
  • Loading branch information
boryspoplawski committed Jul 5, 2021
1 parent 4e00671 commit 4f8d6fb
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions LibOS/shim/src/bookkeep/shim_pid.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,11 @@ void release_id(IDTYPE id) {

int ret = ipc_release_id_range(range->start, range->end);
if (ret < 0) {
log_error("IPC pid release failed");
die_or_inf_loop();
/* TODO: this is a fatal error, unfortunately it can happen if the IPC leader exits
* without fully waiting for this process to end. For more information check
* "LibOS/shim/src/sys/shim_exit.c". Change to `log_error` + `die` after fixing. */
log_warning("IPC pid release failed");
DkProcessExit(1);
}
free(range);
return;
Expand Down

0 comments on commit 4f8d6fb

Please sign in to comment.