GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4TerminateException.cxx
Go to the documentation of this file.
1 // $Id: TGo4TerminateException.cxx 2627 2019-10-01 08:02:45Z linev $
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #include "TGo4TerminateException.h"
15 
16 #include "TThread.h"
17 
18 #include "TGo4Log.h"
19 #include "TGo4ThreadManager.h"
20 #include "TGo4Runnable.h"
21 
23 {
24  GO4TRACE((14,"TGo4TerminateException::TGo4TerminateException (TGo4Runnable*)", __LINE__, __FILE__));
25  fxDescription= "!!!-- Go4 Terminate Exception --!!!";
27 }
28 
30 {
31 GO4TRACE((14,"TGo4TerminateException::TGo4TerminateException (TGo4ThreadManager*)", __LINE__, __FILE__));
32  fxDescription= "!!!-- Go4 Terminate Exception --!!!";
33  fxThreadManager=man;
34 }
35 
37  :TGo4ControlException(right)
38 {
39 GO4TRACE((14,"TGo4TerminateException::TGo4TerminateException (const TGo4TerminateException*)", __LINE__, __FILE__));
41 }
42 
44 {
45 GO4TRACE((14,"TGo4TerminateException::operator=(const TGo4TerminateException*)", __LINE__, __FILE__));
46  if (&right!=this)
47  {
48  ;
49  TGo4ControlException::operator=(right); // copy base class members
50  // put additional member copies here...
52  return *this;
53  }
54  else
55  {
56  // copy is already source object
57  ;
58  return *this;
59  }
60 }
61 
63 {
64  GO4TRACE((14,"TGo4TerminateException::~TGo4TerminateException()", __LINE__, __FILE__));
65 
66 }
67 
69 {
70 GO4TRACE((12,"TGo4TaskHandlerAbortException::Handle()", __LINE__, __FILE__));
71 
72  TGo4Log::Debug("\n Terminate Exception default Handle: Terminating Thread Manager %s ... \n",
73  fxThreadManager->GetName());
75  TThread::CancelPoint();
76  return 0;
77 
78 }
TGo4ThreadManager * fxThreadManager
TGo4ThreadManager * GetThreadManager() const
Definition: TGo4Runnable.h:47
TGo4TerminateException & operator=(const TGo4TerminateException &right)
#define GO4TRACE(X)
Definition: TGo4Log.h:26
TGo4ControlException & operator=(const TGo4ControlException &right)
TString fxDescription
Definition: TGo4Exception.h:38
virtual void Terminate(Bool_t termapp=kTRUE)
static void Debug(const char *text,...)
Definition: TGo4Log.cxx:284