umask(0);
/* Open any logs here */
-
- /* Create a new SID for the child process */
- sid = setsid();
- if (sid < 0) {
- /* Log the failure */
- exit(EXIT_FAILURE);
- }
std::string name, dirname;
name = getenv("USER");
dirname = "/home/" + name + "/.mnenc/";
exit(EXIT_FAILURE);
}
}
-
+ /*This is log stuff */
+ std::string logname = "/home/" + name + "/.mnenc/log";
+ std::ofstream log; //Log stream
+ log.open(logname.c_str(), ios::app); // open log
+ time_t rawtime; //Time stuff here
+ struct tm * timeinfo;
+ time ( &rawtime );
+ timeinfo = localtime ( &rawtime );
+ std::string current_time = asctime (timeinfo); //Holds current time
+
+ /* Create a new SID for the child process */
+ sid = setsid();
+ if (sid < 0) {
+ log << current_time << ": Unable to create a new SID for the child process\n";
+ exit(EXIT_FAILURE);
+ }
+
/* Change the current working directory */
if ((chdir("/tmp/")) < 0) {
- /* Log the failure */
+ log << current_time << ": Could not change to /tmp\n";
exit(EXIT_FAILURE);
}
close(STDERR_FILENO);
/* Daemon-specific initialization goes here */
-
- mkfifo("./mnencdfifo", 0777);
+ mkfifo("./mnencdfifo", 0777); //This is the fifo for communications
signal(SIGTERM, term); // register a SIGTERM handler
- //raise(SIGTERM); // will cause term() to run
+ log.close(); //Closing log
/* The Big Loop */
while (1) {