Hi,
I just wrote a library that creates an un-initialized global variable,
and requires the user to create his own thread-local binding in order
to run it.

eg.
(def *my_environment*)
...

and the user would use it like so:
(binding [*my_environment* (new_environment)]
  (start_engine_thread))

And this works wonderfully for my custom engine.

But now I wrote a engine using Swing. And I don't have control over
when the Swing thread is started. So there's no way for me to create a
thread-local binding to use my library.

eg. I can't do this:
(binding [*my_environment* (new_environment)]
  (start_swing_event_thread)
  (.setVisible (new_engine)))

So is there anyway for me to push a thread-local binding, when the
thread has already been started?

Or is there a clean workaround for this problem? Instead of having to
resort to passing *my_environment* around through function parameters.

Thanks a lot
  -Patrick
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to