void background(const char *pidfile)
{
+#ifdef __uClinux__
+ LOG(LOG_ERR, "Cannot background in uclinux (yet)");
+#else /* __uClinux__ */
int pid_fd = -1;
if (pidfile) {
lockf(pid_fd, F_UNLCK, 0);
close(pid_fd);
}
+#endif /* __uClinux__ */
}
/* Signal handler */
return;
/* call script */
- pid = fork();
+ pid = vfork();
if (pid) {
waitpid(pid, NULL, 0);
return;
/* 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);