diff --git a/internal/qol/capture/pcap.go b/internal/qol/capture/pcap.go index 925309f..5bf892c 100644 --- a/internal/qol/capture/pcap.go +++ b/internal/qol/capture/pcap.go @@ -31,12 +31,7 @@ func NewPacketCapture(iface, outputPath string) (*PacketCapture, error) { fileExists = true } - var file *os.File - if fileExists { - file, err = os.OpenFile(outputPath, os.O_APPEND, 0644) - } else { - file, err = os.Create(outputPath) - } + file, err := os.OpenFile(outputPath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) if err != nil { handle.Close() return nil, fmt.Errorf("create/open pcap file: %w", err) diff --git a/internal/qol/measurement.go b/internal/qol/measurement.go index 7e0e0c2..a747a1e 100644 --- a/internal/qol/measurement.go +++ b/internal/qol/measurement.go @@ -126,6 +126,7 @@ func (r *MeasurementRunner) runQueries(dnsClient client.DNSClient, upstream stri packetCapture *capture.PacketCapture) error { ctx, cancel := context.WithCancel(context.Background()) + defer cancel() if err := packetCapture.Start(ctx); err != nil { return err @@ -162,8 +163,6 @@ func (r *MeasurementRunner) runQueries(dnsClient client.DNSClient, upstream stri } } - cancel() - time.Sleep(100 * time.Millisecond) if err := packetCapture.GetError(); err != nil {