mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-16 15:11:52 +00:00
- Fix terminating argument to execl(3), sizeof(NULL) != sizeof(char *)
might be true on some systems [1] - Rewrite gotos to use return directly - Some spelling fixes - Reduce unneeded/non-standard Makefile settings Requested by: bde, imp [1] Explanation provided by: bde [1] Reviewed by: imp
This commit is contained in:
parent
f0268739c7
commit
cd0788e137
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=208289
@ -10,12 +10,7 @@ WARNS?= 3
|
||||
DPADD= ${LIBL}
|
||||
LDADD= -ll
|
||||
|
||||
YFLAGS+=-v
|
||||
CFLAGS+=-I. -I${.CURDIR} #-DYY_STACK_USED
|
||||
# for debug:
|
||||
#CFLAGS+= -g -DDEBUG
|
||||
|
||||
CLEANFILES= y.output
|
||||
CFLAGS+= -I${.CURDIR}
|
||||
|
||||
test:
|
||||
./apmd -d -f etc/apmd.conf -n
|
||||
|
@ -92,7 +92,7 @@ apm_event SUSPENDREQ {
|
||||
exec "zzz";
|
||||
}
|
||||
|
||||
Will cause apmd to recieve the APM event SUSPENDREQ (which may be
|
||||
Will cause apmd to receive the APM event SUSPENDREQ (which may be
|
||||
posted by an LCD close), run the sync command 3 times and wait for a
|
||||
while, then execute zzz (apm -z) to put the system in the suspend
|
||||
state.
|
||||
@ -130,7 +130,7 @@ Other events will not be sent to apmd.
|
||||
4.3 command line syntax
|
||||
-----------------------
|
||||
|
||||
In the example above, the three lines begining with `exec' are commands
|
||||
In the example above, the three lines beginning with `exec' are commands
|
||||
for the event. Each line should be terminated with a semicolon. The
|
||||
command list for the event should be enclosed by `{' and `}'. apmd(8)
|
||||
uses /bin/sh for double-quotation enclosed command execution, just as
|
||||
|
@ -115,13 +115,13 @@ event_cmd_exec_act(void *this)
|
||||
switch ((pid = fork())) {
|
||||
case -1:
|
||||
warn("cannot fork");
|
||||
goto out;
|
||||
break;
|
||||
case 0:
|
||||
/* child process */
|
||||
signal(SIGHUP, SIG_DFL);
|
||||
signal(SIGCHLD, SIG_DFL);
|
||||
signal(SIGTERM, SIG_DFL);
|
||||
execl(_PATH_BSHELL, "sh", "-c", p->line, NULL);
|
||||
execl(_PATH_BSHELL, "sh", "-c", p->line, (char *)NULL);
|
||||
_exit(127);
|
||||
default:
|
||||
/* parent process */
|
||||
@ -130,7 +130,6 @@ event_cmd_exec_act(void *this)
|
||||
} while (pid == -1 && errno == EINTR);
|
||||
break;
|
||||
}
|
||||
out:
|
||||
return status;
|
||||
}
|
||||
void
|
||||
@ -165,19 +164,17 @@ struct event_cmd_op event_cmd_exec_ops = {
|
||||
};
|
||||
|
||||
/*
|
||||
* reject commad
|
||||
* reject command
|
||||
*/
|
||||
int
|
||||
event_cmd_reject_act(void *this __unused)
|
||||
{
|
||||
int rc = -1;
|
||||
int rc = 0;
|
||||
|
||||
if (ioctl(apmctl_fd, APMIO_REJECTLASTREQ, NULL)) {
|
||||
syslog(LOG_NOTICE, "fail to reject\n");
|
||||
goto out;
|
||||
rc = -1;
|
||||
}
|
||||
rc = 0;
|
||||
out:
|
||||
return rc;
|
||||
}
|
||||
struct event_cmd_op event_cmd_reject_ops = {
|
||||
@ -466,7 +463,7 @@ wait_child(void)
|
||||
int
|
||||
proc_signal(int fd)
|
||||
{
|
||||
int rc = -1;
|
||||
int rc = 0;
|
||||
int sig;
|
||||
|
||||
while (read(fd, &sig, sizeof sig) == sizeof sig) {
|
||||
@ -479,7 +476,7 @@ proc_signal(int fd)
|
||||
case SIGTERM:
|
||||
syslog(LOG_NOTICE, "going down on signal %d", sig);
|
||||
rc = -1;
|
||||
goto out;
|
||||
return rc;
|
||||
case SIGCHLD:
|
||||
wait_child();
|
||||
break;
|
||||
@ -488,8 +485,6 @@ proc_signal(int fd)
|
||||
break;
|
||||
}
|
||||
}
|
||||
rc = 0;
|
||||
out:
|
||||
return rc;
|
||||
}
|
||||
void
|
||||
@ -630,14 +625,12 @@ event_loop(void)
|
||||
|
||||
if (FD_ISSET(signal_fd[0], &rfds)) {
|
||||
if (proc_signal(signal_fd[0]) < 0)
|
||||
goto out;
|
||||
return;
|
||||
}
|
||||
|
||||
if (FD_ISSET(apmctl_fd, &rfds))
|
||||
proc_apmevent(apmctl_fd);
|
||||
}
|
||||
out:
|
||||
return;
|
||||
}
|
||||
|
||||
int
|
||||
|
Loading…
Reference in New Issue
Block a user