Hi All,
I was able to download cronie patchlevel 10 from CentOS Stream and found
2 additional patches that are not included in AlmaLinux 8:
1) 0004-Fix-regression-in-handling-1-5-crontab-entries.patch
2) optimization_to_close_fds.patch (which is another approach to fix
100% CPU usage bug):
--- ./src/do_command.c 2023-09-07 09:40:32.016272074 +0200
+++ ./src/do_command.c 2023-09-07 09:43:04.938995232 +0200
@@ -30,6 +30,7 @@
#include
#include
#include
+#include
#include "externs.h"
#include "funcs.h"
@@ -239,10 +240,26 @@
{
char *shell = env_get("SHELL", jobenv);
int fd, fdmax = getdtablesize();
+ DIR *dir;
+ struct dirent *dent;
- /* close all unwanted open file descriptors */
- for(fd = STDERR + 1; fd < fdmax; fd++) {
- close(fd);
+ /*
+ * if /proc is mounted, we can optimize what fd
can be closed,
+ * but if it isn't available, fall back to the
previous behavior.
+ */
+ if ((dir = opendir("/proc/self/fd")) != NULL) {
+ while ((dent = readdir(dir)) != NULL) {
+ if (!strcmp(dent->d_name, ".")
|| !strcmp(dent->d_name, ".."))
+ continue;
+ fd = atoi(dent->d_name);
+ if (fd > STDERR_FILENO)
+ close(fd);
+ }
+ } else {
+ /* close all unwanted open file
descriptors */
+ for(fd = STDERR + 1; fd < fdmax; fd++) {
+ close(fd);
+ }
}
#if DEBUGGING
The problem is important, prevents from using cronjobs.
Nobody answers here and in the chat, no way to set up a ticket, patches
from CentOS are not included. Is AlmaLinux supported at all?
Best regards,
Alexander Gerasimov
Chief Technical Officer
CodeIT