Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/Go4ThreadManager/TGo4TerminateException.cxx

Go to the documentation of this file.
00001 //---------------------------------------------------------------
00002 //        Go4 Release Package v2.10-5 (build 21005) 
00003 //                      03-Nov-2005
00004 //---------------------------------------------------------------
00005 //       The GSI Online Offline Object Oriented (Go4) Project
00006 //       Experiment Data Processing at DVEE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
00015 //----------------------------------------------------------------
00016 #include "TGo4TerminateException.h"
00017 
00018 #include "Go4ThreadManager/TGo4ThreadManager.h"
00019 #include "Go4ThreadManager/TGo4Runnable.h"
00020 #include "Go4Log/TGo4Log.h"
00021 
00022 TGo4TerminateException::TGo4TerminateException (TGo4Runnable* runnable)
00023 {
00024  TRACE((14,"TGo4TerminateException::TGo4TerminateException (TGo4Runnable*)", __LINE__, __FILE__));
00025    fxDescription= "!!!-- Go4 Terminate Exception --!!!";
00026    fxThreadManager=runnable->GetThreadManager();
00027 
00028 }
00029 
00030 TGo4TerminateException::TGo4TerminateException (TGo4ThreadManager* man)
00031 {
00032 TRACE((14,"TGo4TerminateException::TGo4TerminateException (TGo4ThreadManager*)", __LINE__, __FILE__));
00033    fxDescription= "!!!-- Go4 Terminate Exception --!!!";
00034    fxThreadManager=man;
00035 
00036 }
00037 
00038 TGo4TerminateException::TGo4TerminateException(const TGo4TerminateException &right)
00039   :TGo4ControlException(right)
00040 {
00041 TRACE((14,"TGo4TerminateException::TGo4TerminateException (const TGo4TerminateException*)", __LINE__, __FILE__));
00042    fxThreadManager=right.fxThreadManager;
00043 }
00044 
00045 
00046 
00047 TGo4TerminateException & TGo4TerminateException::operator=(const TGo4TerminateException &right)
00048 {
00049 TRACE((14,"TGo4TerminateException::operator=(const TGo4TerminateException*)", __LINE__, __FILE__));
00050    if (&right!=this)
00051       {
00052          ;
00053          TGo4ControlException::operator=(right); // copy base class members
00054          // put additional member copies here...
00055          fxThreadManager=right.fxThreadManager;
00056          return *this;
00057       }
00058    else
00059       {
00060          // copy is already source object
00061          ;
00062          return *this;
00063       }
00064 
00065 
00066 }
00067 
00068 TGo4TerminateException::~TGo4TerminateException()
00069 {
00070    TRACE((14,"TGo4TerminateException::~TGo4TerminateException()", __LINE__, __FILE__));
00071 
00072 }
00073 
00074 
00075 
00076 
00077 Int_t TGo4TerminateException::Handle ()
00078 {
00079 TRACE((12,"TGo4TaskHandlerAbortException::Handle()", __LINE__, __FILE__));
00080 
00081    TGo4Log::Debug("\n Terminate Exception default Handle: Terminating Thread Manager %s ... \n",
00082             fxThreadManager->GetName());
00083    fxThreadManager->Terminate();
00084    TThread::CancelPoint();
00085    return 0;
00086 
00087 }
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00096 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Tue Nov 8 10:56:07 2005 for Go4-v2.10-5 by doxygen1.2.15