// @(#)root/proofx:$Id$
// Author: G. Ganis Oct 2005

/*************************************************************************
 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TProofServLite
#define ROOT_TProofServLite

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TProofServLite                                                       //
//                                                                      //
// TProofServLite is the version of the PROOF worker server for local   //
// running. The client starts directly the desired number of these      //
// workers; the master and daemons are eliminated, optimizing the number//
// of messages exchanged and created / destroyed.                       //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TProofServ
#include "TProofServ.h"
#endif

class TProofServLiteInterruptHandler;

class TProofServLite : public TProofServ {

private:
   TProofServLiteInterruptHandler *fInterruptHandler;
   TString       fSockPath;   // unix socket path

   Bool_t        fTerminated; //true if Terminate() has been already called

   Int_t         Setup();
   Int_t         SetupOnFork(const char *ord);

public:
   TProofServLite(Int_t *argc, char **argv, FILE *flog = 0);
   virtual ~TProofServLite();

   Int_t         CreateServer();

   void          HandleFork(TMessage *mess);

   //void          HandleUrgentData();
   void          HandleSigPipe();
   void          HandleTermination();

   void          Terminate(Int_t status);

   ClassDef(TProofServLite,0)  //PROOF-Lite Server Application Interface
};

#endif
 TProofServLite.h:1
 TProofServLite.h:2
 TProofServLite.h:3
 TProofServLite.h:4
 TProofServLite.h:5
 TProofServLite.h:6
 TProofServLite.h:7
 TProofServLite.h:8
 TProofServLite.h:9
 TProofServLite.h:10
 TProofServLite.h:11
 TProofServLite.h:12
 TProofServLite.h:13
 TProofServLite.h:14
 TProofServLite.h:15
 TProofServLite.h:16
 TProofServLite.h:17
 TProofServLite.h:18
 TProofServLite.h:19
 TProofServLite.h:20
 TProofServLite.h:21
 TProofServLite.h:22
 TProofServLite.h:23
 TProofServLite.h:24
 TProofServLite.h:25
 TProofServLite.h:26
 TProofServLite.h:27
 TProofServLite.h:28
 TProofServLite.h:29
 TProofServLite.h:30
 TProofServLite.h:31
 TProofServLite.h:32
 TProofServLite.h:33
 TProofServLite.h:34
 TProofServLite.h:35
 TProofServLite.h:36
 TProofServLite.h:37
 TProofServLite.h:38
 TProofServLite.h:39
 TProofServLite.h:40
 TProofServLite.h:41
 TProofServLite.h:42
 TProofServLite.h:43
 TProofServLite.h:44
 TProofServLite.h:45
 TProofServLite.h:46
 TProofServLite.h:47
 TProofServLite.h:48
 TProofServLite.h:49
 TProofServLite.h:50
 TProofServLite.h:51
 TProofServLite.h:52
 TProofServLite.h:53
 TProofServLite.h:54
 TProofServLite.h:55
 TProofServLite.h:56
 TProofServLite.h:57
 TProofServLite.h:58
 TProofServLite.h:59
 TProofServLite.h:60