Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
at.5531
at-3.1.14-handle_malformed_jobs.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File at-3.1.14-handle_malformed_jobs.patch of Package at.5531
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;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor