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 <string.h>
 #include <sys/wait.h>
 #include <unistd.h>
+#include <dirent.h>

 #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

Reply via email to