00001 // @(#)root/proofx:$Id: TProofServLite.h 33637 2010-05-28 13:13:05Z rdm $ 00002 // Author: G. Ganis Oct 2005 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TProofServLite 00013 #define ROOT_TProofServLite 00014 00015 ////////////////////////////////////////////////////////////////////////// 00016 // // 00017 // TProofServLite // 00018 // // 00019 // TProofServLite is the version of the PROOF worker server for local // 00020 // running. The client starts directly the desired number of these // 00021 // workers; the master and daemons are eliminated, optimizing the number// 00022 // of messages exchanged and created / destroyed. // 00023 // // 00024 ////////////////////////////////////////////////////////////////////////// 00025 00026 #ifndef ROOT_TProofServ 00027 #include "TProofServ.h" 00028 #endif 00029 00030 class TProofServLiteInterruptHandler; 00031 00032 class TProofServLite : public TProofServ { 00033 00034 private: 00035 TProofServLiteInterruptHandler *fInterruptHandler; 00036 TString fSockPath; // unix socket path 00037 00038 Bool_t fTerminated; //true if Terminate() has been already called 00039 00040 Int_t Setup(); 00041 Int_t SetupOnFork(const char *ord); 00042 00043 public: 00044 TProofServLite(Int_t *argc, char **argv, FILE *flog = 0); 00045 virtual ~TProofServLite(); 00046 00047 Int_t CreateServer(); 00048 00049 void HandleFork(TMessage *mess); 00050 00051 //void HandleUrgentData(); 00052 void HandleSigPipe(); 00053 void HandleTermination(); 00054 00055 void Terminate(Int_t status); 00056 00057 ClassDef(TProofServLite,0) //PROOF-Lite Server Application Interface 00058 }; 00059 00060 #endif