On 2013-06-13 19:42, Gary Willoughby wrote:
I get a program crash each time running the following code on MacOS 10.8
(Lion). It seems to run ok on Ubuntu 12.04:

import core.sys.posix.sys.stat;
import core.sys.posix.unistd;
import std.c.stdio;
import std.c.stdlib;
import std.process;
import std.stdio;
import std.string;
import std.file;

int main(string[] args)
{
     pid_t pid, sid;

     pid = fork();
     if (pid < 0)
     {
         exit(EXIT_FAILURE);
     }

     if (pid > 0)
     {
         exit(EXIT_SUCCESS);
     }

     umask(0);

     sid = setsid();
     if (sid < 0)
     {
         exit(EXIT_FAILURE);
     }

     if ((core.sys.posix.unistd.chdir("/")) < 0)
     {
         exit(EXIT_FAILURE);
     }

     close(STDIN_FILENO);
     close(STDOUT_FILENO);
     close(STDERR_FILENO);

     auto logFile = File("/home/gary/Desktop/test.log", "a");
     logFile.writeln("Reading file");

     string command = format("logger -t %s %s", "hello", "This is a test");
     executeShell(command);

     logFile.writeln("Done");

     return 0;
}

You do know that you usually don't have a /home/ directory on Mac OS X? On Mac OS X it's called /Users/.

BTW, running that on Mac OS X 10.6.3 does not cause a crash. Although it doesn't seem to print or write anything.

--
/Jacob Carlborg

Reply via email to