Files
@ r2189:2faee8988cf3
Branch filter:
Location: cpp/openttd-patchpack/source/dedicated.c - annotation
r2189:2faee8988cf3
1.4 KiB
text/x-c
(svn r2704) Remove . from include path again, too much trouble. Also add some #ifdefs and #includes for the Windows build
r2186:5ee653b1b5e1 r2186:5ee653b1b5e1 r543:efdb197f91ad r1891:c5c5466afa35 r543:efdb197f91ad r543:efdb197f91ad r543:efdb197f91ad r2159:2c706fe6b0a7 r781:13ab6b3c1f17 r781:13ab6b3c1f17 r781:13ab6b3c1f17 r781:13ab6b3c1f17 r781:13ab6b3c1f17 r781:13ab6b3c1f17 r543:efdb197f91ad r543:efdb197f91ad r543:efdb197f91ad r543:efdb197f91ad r2177:986b22f06f5d r770:be3f6b12cf89 r1290:04f2d9132d3b r1290:04f2d9132d3b r1290:04f2d9132d3b r1290:04f2d9132d3b r1290:04f2d9132d3b r770:be3f6b12cf89 r543:efdb197f91ad r702:5b64efe4d301 r704:3d3131641921 r774:3e6bfb2226bd r704:3d3131641921 r704:3d3131641921 r1406:dea1cf76323c r1406:dea1cf76323c r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r1626:b2bd868919b7 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r1626:b2bd868919b7 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r1406:dea1cf76323c r704:3d3131641921 r704:3d3131641921 r704:3d3131641921 r702:5b64efe4d301 r702:5b64efe4d301 r543:efdb197f91ad r543:efdb197f91ad r774:3e6bfb2226bd r543:efdb197f91ad r543:efdb197f91ad | /* $Id$ */
#include "stdafx.h"
#include "openttd.h"
#ifdef ENABLE_NETWORK
#include "variables.h"
#ifdef __OS2__
# include <sys/types.h>
# include <unistd.h>
#endif
#ifdef UNIX
# include <sys/types.h>
# include <unistd.h>
#endif
#ifdef __MORPHOS__
/* Voids the fork, option will be disabled for MorphOS build anyway, because
* MorphOS doesn't support forking (could only implemented with lots of code
* changes here). */
int fork(void) { return -1; }
int dup2(int oldd, int newd) { return -1; }
#endif
#ifdef UNIX
/* We want to fork our dedicated server */
void DedicatedFork(void)
{
/* Fork the program */
pid_t pid = fork();
switch (pid) {
case -1:
perror("Unable to fork");
exit(1);
case 0:
// We're the child
/* Open the log-file to log all stuff too */
_log_file_fd = fopen(_log_file, "a");
if (!_log_file_fd) {
perror("Unable to open logfile");
exit(1);
}
/* Redirect stdout and stderr to log-file */
if (dup2(fileno(_log_file_fd), fileno(stdout)) == -1) {
perror("Rerouting stdout");
exit(1);
}
if (dup2(fileno(_log_file_fd), fileno(stderr)) == -1) {
perror("Rerouting stderr");
exit(1);
}
break;
default:
// We're the parent
printf("Loading dedicated server...\n");
printf(" - Forked to background with pid %d\n", pid);
exit(0);
}
}
#endif
#else
void DedicatedFork(void) {}
#endif /* ENABLE_NETWORK */
|