summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-04-11 23:40:57 +0300
committerPaul Buetow <paul@buetow.org>2025-04-11 23:40:57 +0300
commit56f86ee8c8a9deb6c60235e0e078de2ec2a4cc4c (patch)
tree40c7cdd3903619999eb6087b1794d3d350e772ef /internal
parente2ca1589bc8de613ed2994e35455440fbb45c466 (diff)
fix
Diffstat (limited to 'internal')
-rw-r--r--internal/eventloop.go12
-rw-r--r--internal/flamegraph/iordatacollector.go1
2 files changed, 8 insertions, 5 deletions
diff --git a/internal/eventloop.go b/internal/eventloop.go
index a6e17ca..b6381ba 100644
--- a/internal/eventloop.go
+++ b/internal/eventloop.go
@@ -254,7 +254,9 @@ func (e *eventLoop) syscallExit(exitEv event.Event, ch chan<- *event.Pair) {
}
// Duplicating fd
newFd := int32(ev.ExitEv.(*RetEvent).Ret)
- e.files[newFd] = fdFile.Dup(newFd)
+ if newFd != -1 {
+ e.files[newFd] = fdFile.Dup(newFd)
+ }
}
case *Dup3Event:
@@ -276,9 +278,11 @@ func (e *eventLoop) syscallExit(exitEv event.Event, ch chan<- *event.Pair) {
panic("expected a file.FdFile")
}
newFd := int32(ev.ExitEv.(*RetEvent).Ret)
- duppedFdFile := fdFile.Dup(newFd)
- duppedFdFile.AddFlags(dup3Event.Flags & syscall.O_CLOEXEC)
- e.files[newFd] = duppedFdFile
+ if newFd != -1 {
+ duppedFdFile := fdFile.Dup(newFd)
+ duppedFdFile.AddFlags(dup3Event.Flags & syscall.O_CLOEXEC)
+ e.files[newFd] = duppedFdFile
+ }
case *NullEvent:
ev.Comm = e.comm(ev.EnterEv.GetTid())
diff --git a/internal/flamegraph/iordatacollector.go b/internal/flamegraph/iordatacollector.go
index 6a97379..a63b742 100644
--- a/internal/flamegraph/iordatacollector.go
+++ b/internal/flamegraph/iordatacollector.go
@@ -10,7 +10,6 @@ import (
"sync"
)
-// TODO: Idea, show time spent between the syscalls (off syscalls) as well, but in a different color
type IorDataCollector struct {
flags flags.Flags
Ch chan *event.Pair