Skip to content
Snippets Groups Projects
Select Git revision
  • e849f2dd94c43fa1e50e39985ee33bd29025067d
  • master default protected
  • 72-improve-docs-for_optimal_setup
  • os-path-join
  • develop-GA
  • add-higher-spindown-components
  • v1.3
  • v1.2
  • v1.1.2
  • v1.1.0
  • v1.0.1
11 results

fully_coherent_search_using_MCMC.py

Blame
  • smartd.cpp 11.86 KiB
    /*
     * Home page of code is: http://smartmontools.sourceforge.net
     *
     * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net>
     * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2, or (at your option)
     * any later version.
     *
     * You should have received a copy of the GNU General Public License
     * (for example COPYING); if not, write to the Free
     * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     *
     * This code was originally developed as a Senior Thesis by Michael Cornwell
     * at the Concurrent Systems Laboratory (now part of the Storage Systems
     * Research Center), Jack Baskin School of Engineering, University of
     * California, Santa Cruz. http://ssrc.soe.ucsc.edu/
     *
     */
    
    #include <stdio.h>
    #include <sys/ioctl.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>
    #include <fcntl.h>
    #include <string.h>
    #include <linux/hdreg.h>
    #include <syslog.h>
    #include <stdarg.h>
    
    #include "atacmds.h"
    #include "scsicmds.h"
    #include "smartd.h"
    #include "ataprint.h"
    
    extern const char *CVSid1, *CVSid2;
    const char *CVSid3="$Id: smartd.cpp,v 1.23 2002/10/24 10:53:50 ballen4705 Exp $" 
    CVSID1 CVSID4 CVSID7;
    
    int daemon_init(void){
      pid_t pid;
      
      if ( (pid = fork()) < 0)
        // unable to fork!
        return -1;
      else if (pid != 0)
        // we are the parent process -- exit
        exit (0);
    
      // from here on, we are the child process
      setsid ();
      chdir("/");
      umask(0);
      return(0);
    }
    
    
    // This function prints either to stdout or to the syslog as needed
    void printout(int priority,char *fmt, ...){
      va_list ap;
      // initialize variable argument list 
     va_start(ap,fmt);
      if (debugmode)
        vprintf(fmt,ap);
      else
        vsyslog(priority,fmt,ap);
      va_end(ap);