public MessageQueueWatcher() { start(); }
public void run() {
while(true) {
- if (m != null && m == MessageQueue.currentlyPerforming) {
+ if ((m != null && m == MessageQueue.currentlyPerforming) || MessageQueue.working) {
Context cx;
String what;
- if (m instanceof ThreadMessage) {
+ if (m == null) {
+ cx = Context.getContextForThread(MessageQueue.singleton);
+ what = "trap";
+ } else if (m instanceof ThreadMessage) {
ThreadMessage tm = (ThreadMessage)m;
cx = Context.getContextForThread(tm);
what = "background thread";