$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-users] Thread and exception
From: Janne Kätevä (jannekat_at_[hidden])
Date: 2008-12-12 00:58:19
Hi
I have noticed that on Ubuntu my code that uses Boost Threads works fine 
when I throw exceptions (for example strings) and catch them in the same 
thread. But this doesn't seem to work on Windows XP with Mingw gcc 
3.4.5. If I throw a exception in thread, the program crashes. Is there 
some known problem with Boost Thread and Mingw? I'm using Boost 1.37.
Simple example:
#include <exception>
#include <boost/thread/thread.hpp>
using namespace std;
class callable {
public:
    void run() {
        try {
            cout << "Throwing" << endl;
            throw string("error");
        } catch(string &e) {
            cout << "Error: " << e << endl;
        }
    }
    void operator()() {
        this->run();
    }
};
int main() {
    callable c;
    boost::thread thrd(boost::ref(c));
    thrd.join();
    return 0;
}
Janne