Leider weiß ich nicht genau wie ich das Problem eingrenzen kann, wie ich das Problem reproduzieren kann oder an welchem Code es genau liegt. Daher lade ich mal die Unit, die die Threads abarbeitet in den Anhang.
Ich habe neben dem Hauptthread einen Nebenthread, der nacheinander Jobs abarbeitet, die man vom Hauptthread einreihen kann.
Wenn gerade keine Jobs da sind, pausiert sich der Nebenthread und wird bei neuen Jobs wieder aufgeweckt.
Dies habe ich sowohl mit Events, als auch Suspend versucht zu realisieren, leider ohne Erfolg.
Das Problem, was immer wieder auftritt ist, dass der Nebenthread immer hängenbleibt. Im Assemblerfenster zeigt er folgende Instruktion an, die ausgeführt wird:
Code: Alles auswählen
poll (29)
00007FFFF579281D 488b3c24 mov (%rsp),%rdi
Im Anhang ist wie gesagt die Unit, in der die Jobs abgearbeitet werden. Die dort deaktivierten Codezeilen zeigen meine unterschiedlichen Versuche das Problem zu lösen.
Vielleicht hat ja jemand eine Idee..
Gruß Johannes