Accepting request 338448 from home:kstreitova:branches:Base:System
- add at-3.1.16-handle_malformed_jobs.patch to prevent creation of the corrupted files and their looping [bnc#945124] OBS-URL: https://build.opensuse.org/request/show/338448 OBS-URL: https://build.opensuse.org/package/show/Base:System/at?expand=0&rev=100
This commit is contained in:
parent
f9b617fd8a
commit
38615f981b
45
at-3.1.16-handle_malformed_jobs.patch
Normal file
45
at-3.1.16-handle_malformed_jobs.patch
Normal file
@ -0,0 +1,45 @@
|
||||
Index: at-3.1.13/at.c
|
||||
===================================================================
|
||||
--- at-3.1.13.orig/at.c
|
||||
+++ at-3.1.13/at.c
|
||||
@@ -319,7 +319,8 @@ writefile(time_t runtimer, char queue)
|
||||
* bit. Yes, this is a kluge.
|
||||
*/
|
||||
cmask = umask(S_IRUSR | S_IWUSR | S_IXUSR);
|
||||
- if ((fd = open(atfile, O_CREAT | O_EXCL | O_TRUNC | O_WRONLY, S_IRUSR)) == -1)
|
||||
+ if ((fd = open(atfile,
|
||||
+ O_CREAT | O_EXCL | O_TRUNC | O_WRONLY | O_SYNC, S_IRUSR)) == -1)
|
||||
perr("Cannot create atjob file %.500s", atfile);
|
||||
|
||||
if ((fd2 = dup(fd)) < 0)
|
||||
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;
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 13 13:36:03 UTC 2015 - kstreitova@suse.com
|
||||
|
||||
- add at-3.1.16-handle_malformed_jobs.patch to prevent creation of
|
||||
the corrupted files and their looping [bnc#945124]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 23 16:48:56 UTC 2015 - vcizek@suse.com
|
||||
|
||||
|
3
at.spec
3
at.spec
@ -60,6 +60,8 @@ Patch25: at-atq-timeformat.patch
|
||||
#PATCH-FIX-OPENSUSE use posix timers to avoid the need of suspend/resume hacks.
|
||||
Patch27: at-3.1.14-usePOSIXtimers.patch
|
||||
Patch28: at-adjust_load_to_cpu_count.patch
|
||||
# PATCH-FIX-UPSTREAM bnc#945124 kstreitova@suse.com -- don't loop on corrupt files and prevent their creation
|
||||
Patch29: at-3.1.16-handle_malformed_jobs.patch
|
||||
BuildRequires: autoconf >= 2.69
|
||||
BuildRequires: automake
|
||||
BuildRequires: bison
|
||||
@ -104,6 +106,7 @@ This program allows you to run jobs at specified times.
|
||||
%patch25
|
||||
%patch27 -p1
|
||||
%patch28 -p1
|
||||
%patch29 -p1
|
||||
|
||||
%build
|
||||
rm -fv y.tab.c y.tab.h lex.yy.c lex.yy.o y.tab.o
|
||||
|
Loading…
x
Reference in New Issue
Block a user