<div dir="ltr">It is safe, however, to share the racket/gui/base that you get with the one in the sandbox.<div><br>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Mar 23, 2014 at 7:25 PM, Matthew Flatt <span dir="ltr"><<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes, this is a limitation of `racket/gui/base`. On initialization, the<br>
library must register in various non-composable ways with an underlying<br>
GUI toolkit (callbacks, Objective-C classes, Win32 classes, etc.), and<br>
so `racket/gui/base` cannot be instantiated multiple times.<br>
<div><div class="h5"><br>
At Sun, 23 Mar 2014 20:12:43 -0400, Spencer Florence wrote:<br>
> I'm attempting to launch multiple evaluators which require `racket/gui`,<br>
> however I get the error:<br>
><br>
> cannot instantiate `racket/gui/base` a second time in the same process<br>
><br>
> Is `racket/gui/base` maintaining some kind of state thats escaping the<br>
> sandbox?<br>
><br>
><br>
><br>
><br>
><br>
> Example of the problem:<br>
><br>
> #lang racket/base<br>
> (require racket/sandbox)<br>
><br>
> (call-with-trusted-sandbox-configuration<br>
>  (lambda ()<br>
>    (define (make)<br>
>      (make-evaluator 'racket/base<br>
>                      #:requires '(racket/gui/base)))<br>
><br>
>    (make)<br>
>    (make)))<br>
</div></div>> ____________________<br>
>   Racket Users list:<br>
>   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div><br></div>