³ò
<ôýIc           @   s  d  Z  d d k Z d d k Z e i d i d ƒ d Z e i d Z e i i e d d e d	 ƒ Z	 e i i e d
 d e d ƒ Z
 e i i e d d e d ƒ Z d d k Z e i Z d d d „  ƒ  YZ d „  Z e d j o)y. e i ƒ  Z e d j o e i d ƒ n Wn? e j
 o3 Z e i d e i e i f IJe i d ƒ n Xe i d ƒ e i ƒ  e i d ƒ yH e i ƒ  Z e d j o+ e e
 d ƒ i d e ƒ e i d ƒ n Wn? e j
 o3 Z e i d e i e i f IJe i d ƒ n Xe ƒ  n d S(   sá   
#+
# NAME:
#	skyd
# PURPOSE:
#	Used to set up the indexing script skyd_wait.py as a
#	daemon process.
#	skyd.py should not be called directly, but
#	should be controlled with the bash script skyd.
# MODIFICATION HISTORY:
#-
iÿÿÿÿNt   HOSTNAMEt   .i    t   SKYDt   logt   skyd_s   .logt   runs   .pidt   cfs   .cft   Logc           B   s    e  Z d  Z d „  Z d „  Z RS(   s‚   file like for writes with auto flush after each write
    to ensure that everything is logged, even during an
    unexpected exit.c         C   s   | |  _  d  S(   N(   t   f(   t   selfR   (    (    s	   ./skyd.pyt   __init__!   s    c         C   s!   |  i  i | ƒ |  i  i ƒ  d  S(   N(   R   t   writet   flush(   R	   t   s(    (    s	   ./skyd.pyR   #   s    (   t   __name__t
   __module__t   __doc__R
   R   (    (    (    s	   ./skyd.pyR      s   	c           C   s-   t  t t d ƒ ƒ t _ t _ t t ƒ d  S(   Ns   a+(   R   t   opent   LOGFILEt   syst   stdoutt   stderrt   USERPROGt   CFFILE(    (    (    s	   ./skyd.pyt   main'   s    
t   __main__s   fork #1 failed: %d (%s)i   t   /t   ws   %ds   fork #2 failed: %d (%s)(    (   R   R   t   ost   environt   splitt   HOSTt   ROOTt   patht   joinR   t   PIDFILER   t	   skyd_waitR   R   R   R   t   forkt   pidt   exitt   OSErrort   eR   t   errnot   strerrort   chdirt   setsidt   umaskR   R   (    (    (    s	   ./skyd.pys   <module>   s<      	
	
