Rename internal functions warn() and shutdown() in the shutdown
binary to avoid surprising dynamic library name resolution conflict with NSS modules. Patch from Richard Tollerton.
This commit is contained in:
parent
ffcb38faae
commit
45660f6ee6
@ -53,6 +53,9 @@ sysvinit (2.89dsf) UNRELEASED; urgency=low
|
|||||||
kernel 3.0 and above
|
kernel 3.0 and above
|
||||||
* Improve message printed when signaling processes to stop.
|
* Improve message printed when signaling processes to stop.
|
||||||
Patch from Matias A. Fonzo at the dragora project.
|
Patch from Matias A. Fonzo at the dragora project.
|
||||||
|
* Rename internal functions warn() and shutdown() in the shutdown
|
||||||
|
binary to avoid surprising dynamic library name resolution
|
||||||
|
conflict with NSS modules. Patch from Richard Tollerton.
|
||||||
|
|
||||||
-- Petter Reinholdtsen <pere@hungry.com> Sun Apr 11 11:28:55 CEST 2010
|
-- Petter Reinholdtsen <pere@hungry.com> Sun Apr 11 11:28:55 CEST 2010
|
||||||
|
|
||||||
|
@ -213,7 +213,7 @@ int init_setenv(char *name, char *value)
|
|||||||
/*
|
/*
|
||||||
* Tell everyone the system is going down in 'mins' minutes.
|
* Tell everyone the system is going down in 'mins' minutes.
|
||||||
*/
|
*/
|
||||||
void warn(int mins)
|
void issue_warn(int mins)
|
||||||
{
|
{
|
||||||
char buf[MESSAGELEN + sizeof(newstate)];
|
char buf[MESSAGELEN + sizeof(newstate)];
|
||||||
int len;
|
int len;
|
||||||
@ -400,14 +400,14 @@ void fastdown()
|
|||||||
/*
|
/*
|
||||||
* Go to runlevel 0, 1 or 6.
|
* Go to runlevel 0, 1 or 6.
|
||||||
*/
|
*/
|
||||||
void shutdown(char *halttype)
|
void issue_shutdown(char *halttype)
|
||||||
{
|
{
|
||||||
char *args[8];
|
char *args[8];
|
||||||
int argp = 0;
|
int argp = 0;
|
||||||
int do_halt = (down_level[0] == '0');
|
int do_halt = (down_level[0] == '0');
|
||||||
|
|
||||||
/* Warn for the last time */
|
/* Warn for the last time */
|
||||||
warn(0);
|
issue_warn(0);
|
||||||
if (dontshut) {
|
if (dontshut) {
|
||||||
hardsleep(1);
|
hardsleep(1);
|
||||||
stopit(0);
|
stopit(0);
|
||||||
@ -749,20 +749,20 @@ int main(int argc, char **argv)
|
|||||||
if (wt < 0) wt += 1440;
|
if (wt < 0) wt += 1440;
|
||||||
}
|
}
|
||||||
/* Shutdown NOW if time == 0 */
|
/* Shutdown NOW if time == 0 */
|
||||||
if (wt == 0) shutdown(halttype);
|
if (wt == 0) issue_shutdown(halttype);
|
||||||
|
|
||||||
/* Give warnings on regular intervals and finally shutdown. */
|
/* Give warnings on regular intervals and finally shutdown. */
|
||||||
if (wt < 15 && !needwarning(wt)) warn(wt);
|
if (wt < 15 && !needwarning(wt)) issue_warn(wt);
|
||||||
while(wt) {
|
while(wt) {
|
||||||
if (wt <= 5 && !didnolog) {
|
if (wt <= 5 && !didnolog) {
|
||||||
donologin(wt);
|
donologin(wt);
|
||||||
didnolog++;
|
didnolog++;
|
||||||
}
|
}
|
||||||
if (needwarning(wt)) warn(wt);
|
if (needwarning(wt)) issue_warn(wt);
|
||||||
hardsleep(60);
|
hardsleep(60);
|
||||||
wt--;
|
wt--;
|
||||||
}
|
}
|
||||||
shutdown(halttype);
|
issue_shutdown(halttype);
|
||||||
|
|
||||||
return 0; /* Never happens */
|
return 0; /* Never happens */
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user