[plt-scheme] Multi-Threaded GUI w/ Text Editor Output
At Tue, 30 Jun 2009 08:40:04 -0400, Christopher Bowron wrote:
> I have a multithreaded GUI app that uses a text editor for its output port.
> Every once in a while, I get an error I believe is related to multiple
> threads accessing the text editor output port.
>
> I don't seem to get the error if I leave the outport port alone and use the
> default output port from DrScheme. The error is:
>
> sequence-contract-violation: negative: method insert cannot be called,
> except in states (unlocked), args ...
Yes, that's almost certainly due to using the editor from multiple threads.
> Is it possible to safely due what I am trying to do?
The usual solution is to use `queue-callback' to insert characters,
instead of inserting directly from the current thread. But
`open-output-text-editor' doesn't give you a way to do that.
Probably `open-output-text-editor' should accept an eventspace to use
for all editor operations, and I'll try making that change soon.