diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-13 22:12:22 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-13 22:12:22 +0200 |
| commit | fd97584060cdc3d88da0fab060ad50cf9fc651c4 (patch) | |
| tree | b589d318b97970f9351335bb1431cc67082cddbd /internal/eventloop_exit.go | |
| parent | 81fdd28081922aaeb355a1f87cebaf85f93622c5 (diff) | |
Handle procfs lookup errors in event loop (task 392)
Diffstat (limited to 'internal/eventloop_exit.go')
| -rw-r--r-- | internal/eventloop_exit.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/internal/eventloop_exit.go b/internal/eventloop_exit.go index 7fe2469..b0c0256 100644 --- a/internal/eventloop_exit.go +++ b/internal/eventloop_exit.go @@ -251,8 +251,12 @@ func (e *eventLoop) handleNullExit(ep *event.Pair, nullEv *types.NullEvent) bool return false } if retEvent.Ret > 0 { - if cwd, err := os.Readlink(procTidPathPrefix(nullEv.GetTid()) + "/cwd"); err == nil { + cwd, err := os.Readlink(procTidPathPrefix(nullEv.GetTid()) + "/cwd") + switch { + case err == nil: ep.File = file.NewPathname([]byte(cwd)) + case !isTransientProcError(err): + e.notifyWarning(fmt.Sprintf("failed to resolve cwd for tid %d: %v", nullEv.GetTid(), err)) } } } |
