Compare commits
2 Commits
c538df7daa
...
ccc0d98bd7
| Author | SHA1 | Date | |
|---|---|---|---|
|
ccc0d98bd7
|
|||
|
a3fd05765e
|
@@ -380,6 +380,9 @@ func initEntrypoint(k syscallDispatcher, msg message.Msg) {
|
|||||||
err error
|
err error
|
||||||
wpid = -2
|
wpid = -2
|
||||||
wstatus WaitStatus
|
wstatus WaitStatus
|
||||||
|
|
||||||
|
// whether initial process has started
|
||||||
|
started bool
|
||||||
)
|
)
|
||||||
|
|
||||||
// keep going until no child process is left
|
// keep going until no child process is left
|
||||||
@@ -406,6 +409,10 @@ func initEntrypoint(k syscallDispatcher, msg message.Msg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !started {
|
||||||
|
started = initialProcessStarted.Load()
|
||||||
|
}
|
||||||
|
|
||||||
err = EINTR
|
err = EINTR
|
||||||
for errors.Is(err, EINTR) {
|
for errors.Is(err, EINTR) {
|
||||||
wpid, err = k.wait4(-1, &wstatus, 0, nil)
|
wpid, err = k.wait4(-1, &wstatus, 0, nil)
|
||||||
@@ -414,7 +421,7 @@ func initEntrypoint(k syscallDispatcher, msg message.Msg) {
|
|||||||
|
|
||||||
if !errors.Is(err, ECHILD) {
|
if !errors.Is(err, ECHILD) {
|
||||||
k.printf(msg, "unexpected wait4 response: %v", err)
|
k.printf(msg, "unexpected wait4 response: %v", err)
|
||||||
} else if !initialProcessStarted.Load() {
|
} else if !started {
|
||||||
// initial process has not yet been reached and all daemons
|
// initial process has not yet been reached and all daemons
|
||||||
// terminated or none were started in the first place
|
// terminated or none were started in the first place
|
||||||
time.Sleep(500 * time.Microsecond)
|
time.Sleep(500 * time.Microsecond)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "hakurei";
|
pname = "hakurei";
|
||||||
version = "0.3.1";
|
version = "0.3.2";
|
||||||
|
|
||||||
srcFiltered = builtins.path {
|
srcFiltered = builtins.path {
|
||||||
name = "${pname}-src";
|
name = "${pname}-src";
|
||||||
|
|||||||
Reference in New Issue
Block a user