From a68848db159cc1cafa82f9d383432fda459c8745 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 17 Jul 2021 09:11:16 +0200 Subject: Merging upstream version 1.2.1. Signed-off-by: Daniel Baumann --- src/input/fpcap.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/input/fpcap.c') diff --git a/src/input/fpcap.c b/src/input/fpcap.c index de054ec..6804608 100644 --- a/src/input/fpcap.c +++ b/src/input/fpcap.c @@ -24,6 +24,7 @@ #include "core/assert.h" #include "core/object/pcap.h" +#include #include #ifdef HAVE_ENDIAN_H #include @@ -60,7 +61,7 @@ static input_fpcap_t _defaults = { 0, 0, 0, 0, 0, CORE_OBJECT_PCAP_INIT(0), - 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -91,6 +92,16 @@ static int _open(input_fpcap_t* self) { mlassert_self(); +#if _POSIX_C_SOURCE >= 200112L || defined(__FreeBSD__) + if (self->use_fadvise) { + int err = posix_fadvise(fileno((FILE*)self->file), 0, 0, POSIX_FADV_SEQUENTIAL); + if (err) { + lcritical("posix_fadvise() failed: %s", core_log_errstr(err)); + return -2; + } + } +#endif + if (fread(&self->magic_number, 1, 4, self->file) != 4 || fread(&self->version_major, 1, 2, self->file) != 2 || fread(&self->version_minor, 1, 2, self->file) != 2 -- cgit v1.2.3