For #307, disable GSO < linux 4.18.0

pull/1753/head
winlin 5 years ago
parent feaf98eb69
commit 2cd580f500

@ -33,6 +33,10 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#ifdef __linux__
#include <linux/version.h>
#include <sys/utsname.h>
#endif
#include <vector>
#include <algorithm>
@ -4805,12 +4809,25 @@ bool SrsConfig::get_rtc_server_gso()
bool v = SRS_CONF_PERFER_FALSE(conf->arg0());
#ifdef SRS_AUTO_OSX
if (v) {
srs_warn("GSO is for Linux only");
}
v = false;
bool gso_disabled = false;
#if !defined(__linux__)
gso_disabled = true;
srs_warn("GSO is for Linux 4.18+ only");
#else
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,18,0)
utsname un = {0};
int r0 = uname(&un);
if (r0 || strcmp(un.release, "4.18.0") < 0) {
gso_disabled = true;
}
srs_warn("GSO is for Linux 4.18+ only, r0=%d, %s", r0, un.release);
#endif
#endif
if (v && gso_disabled) {
v = false;
}
return v;
}

Loading…
Cancel
Save