digitalmars.D.learn - Another Mac OS crash
- Gary Willoughby (56/56) Jun 13 2013 Another crash (Mac OS 10.8) here but this one doesn't seem to
Another crash (Mac OS 10.8) here but this one doesn't seem to
raise a crash dump. Also it seems to work fine 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;
import std.datetime;
class Logger
{
      private File _logFile;
      public this(string logFile)
      {
          this._logFile = File(logFile, "a");
      }
      public void info(string, A...)(string text, A args)
      {
          this._logFile.writefln(format(text, args));
      }
}
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 logger = new Logger("/Users/gary/Desktop/test.log");
      // Crash!
      logger.info("Reading file");
      string configFileContents = readText("/etc/hosts");
      // Never executes!
      logger.info(configFileContents);
      return 0;
}
 Jun 13 2013








 
  
  
  "Gary Willoughby" <dev kalekold.net>
 "Gary Willoughby" <dev kalekold.net>