OBS User unknown 2008-04-08 20:15:40 +00:00 committed by Git OBS Bridge
parent 913361c958
commit ffbbb866ee
3 changed files with 145 additions and 73 deletions

View File

@ -0,0 +1,58 @@
Index: atd.c
===================================================================
--- atd.c.orig 2008-04-08 17:29:40.000000000 +0200
+++ atd.c 2008-04-08 17:30:39.611014070 +0200
@@ -140,9 +140,10 @@ static char rcsid[] = "$Id: atd.c,v 1.28
static double load_avg = LOADAVG_MX;
static time_t now;
static time_t last_chg;
-static int nothing_to_do;
+static int nothing_to_do = 0;
unsigned int batch_interval;
static int run_as_daemon = 0;
+static int hupped = 0;
static volatile sig_atomic_t term_signal = 0;
@@ -155,9 +156,10 @@ set_term(int dummy)
}
RETSIGTYPE
-sdummy(int dummy)
+set_hup(int dummy)
{
- /* Empty signal handler */
+ hupped = 1;
+ nothing_to_do = 0;
return;
}
@@ -737,6 +739,7 @@ run_loop()
return next_job;
last_chg = buf.st_mtime;
+ hupped = 0;
if ((spool = opendir(".")) == NULL)
perr("Cannot read " ATJOB_DIR);
@@ -961,7 +964,7 @@ main(int argc, char *argv[])
*/
sigaction(SIGHUP, NULL, &act);
- act.sa_handler = sdummy;
+ act.sa_handler = set_hup;
sigaction(SIGHUP, &act, NULL);
sigaction(SIGTERM, NULL, &act);
@@ -977,9 +980,10 @@ main(int argc, char *argv[])
do {
now = time(NULL);
next_invocation = run_loop();
- if (next_invocation > now) {
+ if ((next_invocation > now) && (!hupped)) {
sleep(next_invocation - now);
}
+ hupped = 0;
} while (!term_signal);
daemon_cleanup();
exit(EXIT_SUCCESS);

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Apr 8 17:32:59 CEST 2008 - mrueckert@suse.de
- add at-3.1.8_massive_batch.patch: (bnc#347126)
properly handle sighup when multiple jobs are submitted at the
same time
------------------------------------------------------------------- -------------------------------------------------------------------
Fri May 11 15:09:08 CEST 2007 - mrueckert@suse.de Fri May 11 15:09:08 CEST 2007 - mrueckert@suse.de

153
at.spec
View File

@ -1,7 +1,7 @@
# #
# spec file for package at (Version 3.1.8) # spec file for package at (Version 3.1.8)
# #
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine # This file and all modifications and additions to the pristine
# package are under the same license as the package itself. # package are under the same license as the package itself.
# #
@ -10,14 +10,15 @@
# norootforbuild # norootforbuild
Name: at Name: at
BuildRequires: bison flex pam-devel BuildRequires: bison flex pam-devel
URL: ftp://ftp.debian.org/debian/pool/main/a/at Url: ftp://ftp.debian.org/debian/pool/main/a/at
License: GNU General Public License (GPL) License: GPL v2 or later
Group: System/Daemons Group: System/Daemons
Autoreqprov: on AutoReqProv: on
Version: 3.1.8 Version: 3.1.8
Release: 971 Release: 1031
Summary: A Job Manager Summary: A Job Manager
Source: at_3.1.8-11.tar.gz Source: at_3.1.8-11.tar.gz
Source1: atd.init Source1: atd.init
@ -33,8 +34,9 @@ Patch7: at-%{version}-pie.patch
Patch8: at-%{version}-eal3-manpages.dif Patch8: at-%{version}-eal3-manpages.dif
Patch9: at-%{version}-formatbugs.dif Patch9: at-%{version}-formatbugs.dif
Patch10: at-3.1.8-pam.diff Patch10: at-3.1.8-pam.diff
Patch11: at-3.1.8_massive_batch.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prereq: /usr/sbin/useradd /usr/sbin/groupadd %fillup_prereq %insserv_prereq PreReq: /usr/sbin/useradd /usr/sbin/groupadd %fillup_prereq %insserv_prereq
%description %description
This program allows you to run jobs at specified times. This program allows you to run jobs at specified times.
@ -60,6 +62,7 @@ Authors:
%patch8 %patch8
%patch9 %patch9
%patch10 %patch10
%patch11
%build %build
%{?suse_update_config:%{suse_update_config -f}} %{?suse_update_config:%{suse_update_config -f}}
@ -135,110 +138,114 @@ fi
/var/adm/fillup-templates/sysconfig.atd /var/adm/fillup-templates/sysconfig.atd
%changelog %changelog
* Fri May 11 2007 - mrueckert@suse.de * Tue Apr 08 2008 mrueckert@suse.de
- add at-3.1.8_massive_batch.patch: (bnc#347126)
properly handle sighup when multiple jobs are submitted at the
same time
* Fri May 11 2007 mrueckert@suse.de
- remove postfix from the build requires. (#225469) - remove postfix from the build requires. (#225469)
* Thu Mar 29 2007 - meissner@suse.de * Thu Mar 29 2007 meissner@suse.de
- buildrequires flex,bison - buildrequires flex,bison
* Mon Mar 19 2007 - mrueckert@suse.de * Mon Mar 19 2007 mrueckert@suse.de
- readd at-3.1.8-pam.diff: (#222563) - readd at-3.1.8-pam.diff: (#222563)
The breaking part of the setreuid(daemon_uid,daemon_uid) in The breaking part of the setreuid(daemon_uid,daemon_uid) in
perm.c. uid 25 can not write audit messages. As upstream removed perm.c. uid 25 can not write audit messages. As upstream removed
the pam code in perm.c aswell, we do the same here. the pam code in perm.c aswell, we do the same here.
* Mon Dec 18 2006 - ro@suse.de * Mon Dec 18 2006 ro@suse.de
- added sysconfig variables ATD_BATCH_INTERVAL - added sysconfig variables ATD_BATCH_INTERVAL
and ATD_LOADAVG (fate#301318) and ATD_LOADAVG (fate#301318)
* Tue Nov 28 2006 - mrueckert@suse.de * Tue Nov 28 2006 mrueckert@suse.de
- remove at-3.1.8-pam.diff it just breaks at. - remove at-3.1.8-pam.diff it just breaks at.
* Tue Nov 21 2006 - ro@suse.de * Tue Nov 21 2006 ro@suse.de
- added PRIV_START/END calls around pam_start sections (#222412) - added PRIV_START/END calls around pam_start sections (#222412)
* Fri Sep 01 2006 - kukuk@suse.de * Fri Sep 01 2006 kukuk@suse.de
- Add pam_loginuid.so to atd.pamd - Add pam_loginuid.so to atd.pamd
* Wed Jan 25 2006 - mls@suse.de * Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires - converted neededforbuild to BuildRequires
* Fri Jan 13 2006 - schwab@suse.de * Fri Jan 13 2006 schwab@suse.de
- Don't strip binaries. - Don't strip binaries.
* Mon Dec 05 2005 - kukuk@suse.de * Mon Dec 05 2005 kukuk@suse.de
- Disable SELinux - Disable SELinux
* Mon Aug 29 2005 - kukuk@suse.de * Mon Aug 29 2005 kukuk@suse.de
- Make pam config file non-executeable - Make pam config file non-executeable
* Thu Aug 25 2005 - kukuk@suse.de * Thu Aug 25 2005 kukuk@suse.de
- Remove pam_loginuid.so [may fix #112802] - Remove pam_loginuid.so [may fix #112802]
* Mon Aug 15 2005 - kukuk@suse.de * Mon Aug 15 2005 kukuk@suse.de
- Update to at-3.1.8-11 tarball (includes old patches) - Update to at-3.1.8-11 tarball (includes old patches)
- Add PAM support - Add PAM support
* Thu Jun 02 2005 - kukuk@suse.de * Thu Jun 02 2005 kukuk@suse.de
- Compile with -fpie/-pie - Compile with -fpie/-pie
- Update SELinux patch - Update SELinux patch
* Sat Feb 05 2005 - meissner@suse.de * Sat Feb 05 2005 meissner@suse.de
- mark up for format string using functions. - mark up for format string using functions.
- fixed one error output - fixed one error output
* Tue May 25 2004 - ro@suse.de * Tue May 25 2004 ro@suse.de
- added "-t" docu to manpage - added "-t" docu to manpage
* Thu Mar 25 2004 - mmj@suse.de * Thu Mar 25 2004 mmj@suse.de
- Add postfix to # neededforbuild - Add postfix to # neededforbuild
* Tue Mar 23 2004 - thomas@suse.de * Tue Mar 23 2004 thomas@suse.de
- Added patch for EAL3 man-pages - Added patch for EAL3 man-pages
* Tue Mar 23 2004 - thomas@suse.de * Tue Mar 23 2004 thomas@suse.de
- Added patch for LAuS - Added patch for LAuS
* Wed Jan 28 2004 - kukuk@suse.de * Wed Jan 28 2004 kukuk@suse.de
- Add patch for SELinux - Add patch for SELinux
* Mon Oct 27 2003 - ro@suse.de * Mon Oct 27 2003 ro@suse.de
- package /usr/bin/at as 4750,root,trusted as in permissions.secure - package /usr/bin/at as 4750,root,trusted as in permissions.secure
- add verify (not mode) for /usr/bin/at - add verify (not mode) for /usr/bin/at
- add run_permissions macro to postinstall - add run_permissions macro to postinstall
* Mon Oct 20 2003 - ro@suse.de * Mon Oct 20 2003 ro@suse.de
- don't build as root - don't build as root
* Tue Oct 07 2003 - ro@suse.de * Tue Oct 07 2003 ro@suse.de
- support "at -l -q queue" and "-t timespec" (#31957) - support "at -l -q queue" and "-t timespec" (#31957)
(ported from FreeBSD) (ported from FreeBSD)
* Fri Aug 29 2003 - kukuk@suse.de * Fri Aug 29 2003 kukuk@suse.de
- Create at as system account [Bug #29611] - Create at as system account [Bug #29611]
* Fri Aug 15 2003 - ro@suse.de * Fri Aug 15 2003 ro@suse.de
- make "at -r" behave like "at -d" (#28753) - make "at -r" behave like "at -d" (#28753)
- added restart_on_update/stop_on_removal macros - added restart_on_update/stop_on_removal macros
* Fri Jul 18 2003 - kukuk@suse.de * Fri Jul 18 2003 kukuk@suse.de
- Fix spec file/Makefile to be able to build as normal user - Fix spec file/Makefile to be able to build as normal user
* Wed Jun 18 2003 - ro@suse.de * Wed Jun 18 2003 ro@suse.de
- added "X-UnitedLinux-Default-Enabled: no" to init-script - added "X-UnitedLinux-Default-Enabled: no" to init-script
* Wed Jun 18 2003 - ro@suse.de * Wed Jun 18 2003 ro@suse.de
- don't activate by default - don't activate by default
* Mon May 19 2003 - ro@suse.de * Mon May 19 2003 ro@suse.de
- fix filelist - fix filelist
* Tue May 13 2003 - ro@suse.de * Tue May 13 2003 ro@suse.de
- use defattr - use defattr
* Tue Mar 11 2003 - ro@suse.de * Tue Mar 11 2003 ro@suse.de
- fix postinstall for updates (appeared in #24653) - fix postinstall for updates (appeared in #24653)
* Thu Nov 07 2002 - tcrhak@suse.cz * Thu Nov 07 2002 tcrhak@suse.cz
- fixed for bison 1.75: end rules with semicolon - fixed for bison 1.75: end rules with semicolon
* Fri Aug 23 2002 - bk@suse.de * Fri Aug 23 2002 bk@suse.de
- mark /etc/at.deny as noreplace - mark /etc/at.deny as noreplace
* Mon Aug 19 2002 - kukuk@suse.de * Mon Aug 19 2002 kukuk@suse.de
- Use $time instead of xntp in init script. - Use $time instead of xntp in init script.
* Thu Aug 01 2002 - ro@suse.de * Thu Aug 01 2002 ro@suse.de
- added prereqs - added prereqs
* Mon Jul 01 2002 - ro@suse.de * Mon Jul 01 2002 ro@suse.de
- add ntp to Required-Start in init-script (#15833) - add ntp to Required-Start in init-script (#15833)
* Mon May 27 2002 - ro@suse.de * Mon May 27 2002 ro@suse.de
- set SIGCHLD handler back to default when starting job - set SIGCHLD handler back to default when starting job
* Fri May 24 2002 - ro@suse.de * Fri May 24 2002 ro@suse.de
- create user in install section - create user in install section
* Wed May 22 2002 - kukuk@suse.de * Wed May 22 2002 kukuk@suse.de
- Create at user/group in preinstall script - Create at user/group in preinstall script
* Tue Apr 02 2002 - ro@suse.de * Tue Apr 02 2002 ro@suse.de
- don't try to copy config.guess and config.sub - don't try to copy config.guess and config.sub
(already done by suse_update_config) (already done by suse_update_config)
* Wed Jan 16 2002 - ro@suse.de * Wed Jan 16 2002 ro@suse.de
- integrated two patches: - integrated two patches:
at-3.1.8-heapcorruption.dif and at-3.1.8-o_excl.dif at-3.1.8-heapcorruption.dif and at-3.1.8-o_excl.dif
against heap corruption in time parser for commandline and for against heap corruption in time parser for commandline and for
safer opening of a file (O_EXCL). safer opening of a file (O_EXCL).
- removed all generated files from patch and copy config.{sub,guess} - removed all generated files from patch and copy config.{sub,guess}
from current automake from current automake
* Wed Jan 09 2002 - kukuk@suse.de * Wed Jan 09 2002 kukuk@suse.de
- Fix path to timespec in at.1 manual page [Bug #12784] - Fix path to timespec in at.1 manual page [Bug #12784]
* Tue Jan 08 2002 - egmont@suselinux.hu * Tue Jan 08 2002 egmont@suselinux.hu
- removed colons from init script messages - removed colons from init script messages
* Wed Jan 02 2002 - kukuk@suse.de * Wed Jan 02 2002 kukuk@suse.de
- Remove warning about cron and at (never worked before and user - Remove warning about cron and at (never worked before and user
cannot see it) cannot see it)
- Rename init script from at to atd - Rename init script from at to atd
@ -246,56 +253,56 @@ fi
- Remove $route from init script dependencies (does not exist) - Remove $route from init script dependencies (does not exist)
[Bug #12689] [Bug #12689]
- Use BuildRoot - Use BuildRoot
* Fri Dec 14 2001 - ro@suse.de * Fri Dec 14 2001 ro@suse.de
- removed START_ATD - removed START_ATD
* Mon Aug 06 2001 - ro@suse.de * Mon Aug 06 2001 ro@suse.de
- updated rc script - updated rc script
* Fri Jun 15 2001 - schwab@suse.de * Fri Jun 15 2001 schwab@suse.de
- Add %%suse_update_config. - Add %%suse_update_config.
* Tue Nov 28 2000 - ro@suse.de * Tue Nov 28 2000 ro@suse.de
- startscript to etc/init.d - startscript to etc/init.d
* Mon Sep 25 2000 - ro@suse.de * Mon Sep 25 2000 ro@suse.de
- sorted - sorted
* Wed Feb 16 2000 - dipa@suse.de * Wed Feb 16 2000 dipa@suse.de
- apply debian patch at_3.1.8-8.diff full section of: at.c, at.1.in, - apply debian patch at_3.1.8-8.diff full section of: at.c, at.1.in,
at.deny, at_allow.5, atd.8.in, at.8.in, batch config.guess, at.deny, at_allow.5, atd.8.in, at.8.in, batch config.guess,
config.sub, daemon.c, lex.yy.c, panic.c, parsetime.y, y.tab.c config.sub, daemon.c, lex.yy.c, panic.c, parsetime.y, y.tab.c
(fix for bug #1766) (fix for bug #1766)
* Fri Feb 04 2000 - ro@suse.de * Fri Feb 04 2000 ro@suse.de
- fix missing getlock preload - fix missing getlock preload
* Fri Feb 04 2000 - ro@suse.de * Fri Feb 04 2000 ro@suse.de
- applied security fixes from thomas - applied security fixes from thomas
* Mon Jan 17 2000 - ro@suse.de * Mon Jan 17 2000 ro@suse.de
- man -> usr/share/man - man -> usr/share/man
* Mon Sep 13 1999 - bs@suse.de * Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec. - ran old prepare_spec on spec file to switch to new prepare_spec.
* Tue Dec 08 1998 - ro@suse.de * Tue Dec 08 1998 ro@suse.de
- added reload to script (does a restart) - added reload to script (does a restart)
* Mon Dec 07 1998 - ro@suse.de * Mon Dec 07 1998 ro@suse.de
- added symlink /sbin/rcat -> init.d/at - added symlink /sbin/rcat -> init.d/at
* Mon Dec 07 1998 - ro@suse.de * Mon Dec 07 1998 ro@suse.de
- updated init-script - updated init-script
* Fri Feb 27 1998 - ro@suse.de * Fri Feb 27 1998 ro@suse.de
- installed timespec in docdir / fixed path in manpage - installed timespec in docdir / fixed path in manpage
* Mon Oct 27 1997 - ro@suse.de * Mon Oct 27 1997 ro@suse.de
- update to version 3.1.8 - update to version 3.1.8
ready for autobuild ready for autobuild
* Sun Jun 22 1997 - florian@suse.de * Sun Jun 22 1997 florian@suse.de
- update to version 3.1.7 - update to version 3.1.7
* Sun Jun 01 1997 - bs@suse.de * Sun Jun 01 1997 bs@suse.de
- moved fillup stuff to var/adm/fillup-templates - moved fillup stuff to var/adm/fillup-templates
* Thu Jan 02 1997 - bs@suse.de * Thu Jan 02 1997 bs@suse.de
boot script beautified. boot script beautified.
* Thu Jan 02 1997 - bs@suse.de * Thu Jan 02 1997 bs@suse.de
recompiled and added README recompiled and added README
* Thu Jan 02 1997 - bs@suse.de * Thu Jan 02 1997 bs@suse.de
- /var/spool/atspool/atspool fixed. - /var/spool/atspool/atspool fixed.
* Thu Jan 02 1997 - bs@suse.de * Thu Jan 02 1997 bs@suse.de
- new version 3.0 - new version 3.0
- fillup etc/rc.config and sbin/init.d/at added. - fillup etc/rc.config and sbin/init.d/at added.
* Thu Jan 02 1997 - bs@suse.de * Thu Jan 02 1997 bs@suse.de
switched to version pre-3.0-960812. switched to version pre-3.0-960812.
New: atd (daemon) New: atd (daemon)
fillup etc/rc.config and sbin/init.d-stuff added. fillup etc/rc.config and sbin/init.d-stuff added.
* Thu Jan 02 1997 - florian@suse.de * Thu Jan 02 1997 florian@suse.de
allow login names to be up to 16 characters long allow login names to be up to 16 characters long