make udhcp work under uclinux, to an extent
This commit is contained in:
parent
4a9e34c148
commit
62419df95c
@ -102,6 +102,9 @@ static void exit_fun(void)
|
||||
|
||||
void background(const char *pidfile)
|
||||
{
|
||||
#ifdef __uClinux__
|
||||
LOG(LOG_ERR, "Cannot background in uclinux (yet)");
|
||||
#else /* __uClinux__ */
|
||||
int pid_fd = -1;
|
||||
|
||||
if (pidfile) {
|
||||
@ -131,6 +134,7 @@ void background(const char *pidfile)
|
||||
lockf(pid_fd, F_UNLCK, 0);
|
||||
close(pid_fd);
|
||||
}
|
||||
#endif /* __uClinux__ */
|
||||
}
|
||||
|
||||
/* Signal handler */
|
||||
|
@ -225,7 +225,7 @@ void run_script(struct dhcpMessage *packet, const char *name)
|
||||
return;
|
||||
|
||||
/* call script */
|
||||
pid = fork();
|
||||
pid = vfork();
|
||||
if (pid) {
|
||||
waitpid(pid, NULL, 0);
|
||||
return;
|
||||
@ -235,7 +235,9 @@ void run_script(struct dhcpMessage *packet, const char *name)
|
||||
/* close fd's? */
|
||||
|
||||
/* exec script */
|
||||
#ifndef __uClinux__
|
||||
DEBUG(LOG_INFO, "execle'ing %s", client_config.script);
|
||||
#endif /* __uClinux__ */
|
||||
execle(client_config.script, client_config.script,
|
||||
name, NULL, envp);
|
||||
LOG(LOG_ERR, "script %s failed: %m", client_config.script);
|
||||
|
Loading…
Reference in New Issue
Block a user