cbc8544d9f
- Update to version 3.2.4: * Upstream SUSE patches - Update to version 3.2.3: * Fix two typos on documentation * Upstream SUSE patches * Various improvements to the code and the build system - Refresh patches: * at-3.1.16-handle_malformed_jobs.patch * at-3.2.2.patch * at-backport-old-privs.patch * harden_atd.service.patch - Drop upstreamed patches: * at-3.1.13-leak-fix.patch * at-3.1.13-massive_batch.patch * at-3.1.14-joblist.patch * at-3.1.14-usePOSIXtimers.patch * at-3.1.8-jobdir-mtime.patch * at-atq-timeformat.patch * at-secure_getenv.patch OBS-URL: https://build.opensuse.org/request/show/956821 OBS-URL: https://build.opensuse.org/package/show/Base:System/at?expand=0&rev=121
32 lines
890 B
Diff
32 lines
890 B
Diff
Index: at-3.1.13/atd.c
|
|
===================================================================
|
|
--- at-3.1.13.orig/atd.c
|
|
+++ at-3.1.13/atd.c
|
|
@@ -103,6 +103,7 @@ int selinux_enabled=0;
|
|
|
|
#define BATCH_INTERVAL_DEFAULT 60
|
|
#define CHECK_INTERVAL 3600
|
|
+#define RETRY_INTERVAL CHECK_INTERVAL
|
|
|
|
/* Global variables */
|
|
|
|
@@ -845,12 +846,17 @@ run_loop()
|
|
|
|
/* Something went wrong the last time this was executed.
|
|
* Let's remove the lockfile and reschedule.
|
|
+ *
|
|
+ * To prevent pointless CPU heating with permanent errors,
|
|
+ * next execution is scheduled with RETRY_INTERVAL inserted.
|
|
*/
|
|
strncpy(lock_name, dirent->d_name, sizeof(lock_name)-1);
|
|
lock_name[sizeof(lock_name)-1] = 0;
|
|
lock_name[0] = '=';
|
|
unlink(lock_name);
|
|
- next_job = now;
|
|
+ if (next_job > now + RETRY_INTERVAL) {
|
|
+ next_job = now + RETRY_INTERVAL;
|
|
+ }
|
|
nothing_to_do = 0;
|
|
}
|
|
continue;
|