This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: (g++) program crashes when I throw an exception in a separate thread


On Wed, Jul 22, 2009 at 08:05:21PM -0400, Joshua John Bialkowski wrote:
>I've spent the entire day scouring the internet for a solution to my problem, so
>I apologize if this has already been answered. If that is the case a pointer in
>the right direction would be appreciated.
>[snip]
>#include <iostream>
>using std::cout;
>
>#include <sstream>
>using std::stringstream;
>
>#include <string>
>using std::string;
>
>#include <windows.h>
>#include <process.h>
>
>
>void throwAnException() throw(int)
>{
>    throw 5;
>}
>
>
>unsigned int __stdcall threadProc( void*  ptr )
>{
>    int             id      =    *((int *)ptr);
>    stringstream    msgStrm (stringstream::in|stringstream::out);
>    msgStrm << "Thread " << id << " says hello\n";
>    string          message = msgStrm.str();
>
>    for(int i=0; i < 30; i++)
>    {
>        cout << message;
>        cout.flush();
>        Sleep(100);
>    }
>
>    try
>    {
>        throwAnException();
>    }
>    catch(int e)
>    {
>        cout << "caught: " << e << "\n";
>        cout.flush();
>    }
>
>    return 0;
>}
>
>
>
>
>int main()
>{
>    int nThreads = 3;
>
>    int *nums = new int[nThreads];
>
>    for(int i=0; i<nThreads; i++)
>    {
>        nums[i] = i;
>        _beginthreadex( 0, 0, threadProc, nums+i, 0, 0 );
>    }
>
>    cout << "main thread exiting\n";
>    cout.flush();
>
>    Sleep(10000);
>
>    cout << "main thread exiting\n";
>    cout.flush();
>
>    return 0;
>
>}

It looks like you're using pure windows code here, i.e., this would
be a mingw, "gcc -mno-cygwin" program.  We don't support that here.
You might try the mingw mailing list for support.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]