\section{bug2.cpp} \footnotesize\begin{verbatim}1 // Copyright (C) 1999-2001 Open Source Telecom Corporation. 2 // 3 // This program is free software; you can redistribute it and/or modify 4 // it under the terms of the GNU General Public License as published by 5 // the Free Software Foundation; either version 2 of the License, or 6 // (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU General Public License for more details. 12 // 13 // You should have received a copy of the GNU General Public License 14 // along with this program; if not, write to the Free Software 15 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 16 // 17 // As a special exception to the GNU General Public License, permission is 18 // granted for additional uses of the text contained in its release 19 // of APE. 20 // 21 // The exception is that, if you link the APE library with other files 22 // to produce an executable, this does not by itself cause the 23 // resulting executable to be covered by the GNU General Public License. 24 // Your use of that executable is in no way restricted on account of 25 // linking the APE library code into it. 26 // 27 // This exception does not however invalidate any other reasons why 28 // the executable file might be covered by the GNU General Public License. 29 // 30 // This exception applies only to the code released under the 31 // name APE. If you copy code from other releases into a copy of 32 // APE, as the General Public License permits, the exception does 33 // not apply to the code that you add in this way. To avoid misleading 34 // anyone as to the status of such modified files, you must delete 35 // this exception notice from them. 36 // 37 // If you write modifications of your own for APE, it is your choice 38 // whether to permit this exception to apply to your modifications. 39 // If you do not wish that, delete this exception notice. 40 41 #include <cc++/thread.h> 42 #include <iostream> 43 44 // This was a test case for a bug report related to the final self- 45 // deleting the thread. 46 47 #ifdef CCXX_NAMESPACES 48 using namespace std; 49 using namespace ost; 50 #endif 51 52 class ThreadTest : public Thread 53 { 54 public: 55 void Test() { exit(); } 56 private: 57 void run() { cout << "Run()..." << endl;}; 58 }; 59 60 int main() 61 { 62 ThreadTest *thread = new ThreadTest; 63 // core dump ? 64 thread->Test(); 65 return 0; 66 } 67 68 \end{verbatim} \normalsize