Skip to content

Commit 1ee0e1f

Browse files
committed
[fix #92] support for CentOS w/ Linux 3.10.0 but new sensors path
1 parent 592895d commit 1ee0e1f

File tree

4 files changed

+24
-48
lines changed

4 files changed

+24
-48
lines changed

src/mbpfan.c

+23-23
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ t_sensors* sensors = NULL;
6161
t_fans* fans = NULL;
6262

6363

64-
bool is_legacy_kernel()
64+
bool is_legacy_sensors_path()
6565
{
6666
struct utsname kernel;
6767
uname(&kernel);
@@ -75,31 +75,31 @@ bool is_legacy_kernel()
7575
exit(EXIT_FAILURE);
7676
}
7777

78-
// possible fix for https://github.com/dgraziotin/mbpfan/issues/92
79-
// to be soon investigated.
78+
8079
// thanks http://stackoverflow.com/questions/18192998/plain-c-opening-a-directory-with-fopen
81-
// fopen("/sys/devices/platform/coretemp.0/hwmon", "wb");
80+
fopen("/sys/devices/platform/coretemp.0/hwmon", "wb");
8281

83-
// if (errno == EISDIR) {
84-
// return 0;
85-
// } else {
86-
// return 1;
87-
// }
82+
if (errno == EISDIR) {
83+
return 0;
84+
} else {
85+
return 1;
86+
}
8887

89-
str_kernel_version = strtok(NULL, ".");
90-
int kernel_version = atoi(str_kernel_version);
88+
//
89+
// str_kernel_version = strtok(NULL, ".");
90+
// int kernel_version = atoi(str_kernel_version);
9191

92-
if(verbose) {
93-
printf("Detected kernel version: %s\n", kernel.release);
94-
printf("Detected kernel minor revision: %s\n", str_kernel_version);
92+
// if(verbose) {
93+
// printf("Detected kernel version: %s\n", kernel.release);
94+
// printf("Detected kernel minor revision: %s\n", str_kernel_version);
9595

96-
if(daemonize) {
97-
syslog(LOG_INFO, "Kernel version: %s", kernel.release);
98-
syslog(LOG_INFO, "Detected kernel minor revision: %s", str_kernel_version);
99-
}
100-
}
96+
// if(daemonize) {
97+
// syslog(LOG_INFO, "Kernel version: %s", kernel.release);
98+
// syslog(LOG_INFO, "Detected kernel minor revision: %s", str_kernel_version);
99+
// }
100+
// }
101101

102-
return (atoi(kernel.release) == 3 && kernel_version < 15);
102+
// return (atoi(kernel.release) == 3 && kernel_version < 15);
103103
}
104104

105105

@@ -112,7 +112,7 @@ t_sensors *retrieve_sensors()
112112
char *path = NULL;
113113
char *path_begin = NULL;
114114

115-
if (is_legacy_kernel()) {
115+
if (is_legacy_sensors_path()) {
116116
if(verbose) {
117117
printf("Using legacy sensor path for kernel < 3.15.0\n");
118118

@@ -126,10 +126,10 @@ t_sensors *retrieve_sensors()
126126
} else {
127127

128128
if(verbose) {
129-
printf("Using new sensor path for kernel >= 3.0.15\n");
129+
printf("Using new sensor path for kernel >= 3.0.15 or some CentOS versions with kernel 3.10.0\n");
130130

131131
if(daemonize) {
132-
syslog(LOG_INFO, "Using new sensor path for kernel >= 3.0.15");
132+
syslog(LOG_INFO, "Using new sensor path for kernel >= 3.0.15 or some CentOS versions with kernel 3.10.0 ");
133133
}
134134
}
135135

src/mbpfan.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ typedef struct s_fans t_fans;
4646
/**
4747
* Return true if the kernel is < 3.15.0
4848
*/
49-
bool is_legacy_kernel();
49+
bool is_legacy_sensors_path();
5050

5151
/**
5252
* Tries to use the settings located in

src/minunit.c

-23
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,6 @@
1313

1414
int tests_run = 0;
1515

16-
static const char *test_is_legacy_kernel()
17-
{
18-
19-
struct utsname kernel;
20-
uname(&kernel);
21-
22-
int kern_major_release = (int)(kernel.release[0] - '0');
23-
24-
mu_assert("Kernel major version is minor than 3.", kern_major_release > 2);
25-
char *pch;
26-
pch = strtok(kernel.release, ".");
27-
pch = strtok(NULL, ".");
28-
29-
int minor = atoi(pch);
30-
31-
if ((kern_major_release <= 3) && minor < 15)
32-
mu_assert("Legacy kernel not detected by mbpfan.", is_legacy_kernel() == 1);
33-
else
34-
mu_assert("Non-legacy kernel not detected by mbpfan", is_legacy_kernel() == 0);
35-
36-
return 0;
37-
}
3816

3917
static const char *test_sensor_paths()
4018
{
@@ -203,7 +181,6 @@ static const char *test_settings_reload()
203181

204182
static const char *all_tests()
205183
{
206-
mu_run_test(test_is_legacy_kernel);
207184
mu_run_test(test_sensor_paths);
208185
mu_run_test(test_fan_paths);
209186
mu_run_test(test_get_temp);

src/minunit.h

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
extern int tests_run;
1313

1414

15-
static const char *test_is_legacy_kernel();
1615
static const char *test_sensor_paths();
1716
static const char *test_fan_paths();
1817
static const char *test_get_temp();

0 commit comments

Comments
 (0)