Hallo,
ich habe ein Programm, dass eine Funktion aufruft, die wiederum einen
Thread startet. Wenn der Thread fertig ist, beendet sich auch die
dazugehörige Funktion. Statt danach zurück in die Main zu springen,
beendet sich das Programm "terminate called without an active exception
". Das Programm soll aber weiterlaufen. Ich benutze Linux, falls das
wichtig ist. Hier mal der Ablauf:
1 | bool threadRuns = false,;
|
2 |
|
3 | void thread()
|
4 | {
|
5 | doSth();
|
6 | threadRuns = false;
|
7 | }
|
8 |
|
9 | void Funktion()
|
10 | {
|
11 | std::thread clientConnectThread(thread);
|
12 |
|
13 | while(!threadRuns)
|
14 | {
|
15 |
|
16 | }
|
17 |
|
18 | return 0; //Hier bricht das Programm ab
|
19 | }
|
20 |
|
21 | int main()
|
22 | {
|
23 | Funktion();
|
24 | //Der Rest wird nicht ausgeführt
|
25 | }
|
Weiß jemand was?