Skip to content

Commit 35dee98

Browse files
Refactor eBPF logger for modularity
1 parent ca21918 commit 35dee98

File tree

1 file changed

+17
-21
lines changed

1 file changed

+17
-21
lines changed

cmd/listener/main.go

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
package main
33

44
import (
5+
"bytes"
6+
"encoding/binary"
57
"flag"
68
"fmt"
79
"log"
@@ -56,27 +58,21 @@ func main() {
5658
sigCh := make(chan os.Signal, 1)
5759
signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM)
5860

59-
go func() {
60-
for {
61-
select {
62-
case <-done:
63-
return
64-
default:
65-
record, err := rd.Read()
66-
if err != nil {
67-
if ringbuf.Is (err) {
68-
log.Println("Ring buffer reader closed, exiting event processing goroutine.")
69-
return
70-
}
71-
log.Printf("Failed to read from ring buffer: %v", err)
72-
continue
73-
}
74-
event.Print(record.RawSample)
61+
loop:
62+
for {
63+
select {
64+
case <-sigCh:
65+
break loop
66+
default:
67+
record, err := rd.Read()
68+
if err != nil {
69+
log.Printf("Failed to read from ring buffer: %v", err)
70+
continueAdd commentMore actions
71+
}
72+
var e event.Data
73+
if err := binary.Read(bytes.NewReader(record.RawSample), binary.LittleEndian, &e); err == nil {
74+
event.Print(e)
7575
}
7676
}
77-
}()
78-
79-
<-sigCh
80-
close(done)
81-
fmt.Println("\nExiting...")
77+
}
8278
}

0 commit comments

Comments
 (0)