Ah, this must be a case where different platforms behave differently, because I still see other threads running even with `finder:std-get-file` on Linux.
Sam On Thu, Jul 1, 2021 at 2:58 PM David Storrs <[email protected]> wrote: > > > > On Thu, Jul 1, 2021 at 2:42 PM Sam Tobin-Hochstadt <[email protected]> > wrote: >> >> Your "only remaining idea" is what I'd recommend for telling another >> place what function to run (that's how dynamic-place works in the >> first place). But your [details] sounds worrying. I just tested on my >> machine and it didn't happen for me, and I don't think it's supposed >> to happen on other platforms either. > > > *frowns* > *goes and checks* > > My mistake, I misremembered the details. It only happens if you want the > platform-specific version of the dialog. If you use the Racket version it's > fine but then your interface doesn't match what the user is expecting. > > https://groups.google.com/g/racket-users/c/wexYxYYU7GE/m/3zXxn6NoAwAJ?pli=1 > >> >> Sam >> >> On Thu, Jul 1, 2021 at 2:36 PM David Storrs <[email protected]> wrote: >> > >> > What is the best way to pass a function into a child `place`? >> > >> > I've got a server function that accepts a dispatch function as one of its >> > arguments and I need to be able to run the server in a separate `place` >> > (in the dynamic-place sense) because it's part of a GUI application. >> > [details] >> > >> > My initial thought was to start the place and then use >> > place-channel-(put/get) to move the run-time argument from the main place >> > over into the child. I immediately realized that doesn't work because >> > functions are not `place-message-allowed?` values. Next I thought about >> > using a parameter, but parameters in a child place are set to their >> > *initial* values, not their run-time values. (Barring a few special >> > cases.) >> > >> > I considered passing a string or symbol list and then eval'ing it in the >> > child place. I immediately rejected this idea and told my brain that it >> > was being bad and it got no cookies. >> > >> > At this point my only remaining idea is to place-channel-(put/get) a >> > module name that can be dynamic-required in the child place in order to >> > get the dispatch function. Is there a better way? >> > >> > >> > [details] >> > The Racket GUI library has an issue where e.g. launching an 'Open File' >> > dialog will freeze all of Racket until the user closes the dialog. This >> > can cause the server to time out. Since it's all of Racket that's being >> > frozen and not just the current thread it's necessary to put the server >> > code into an entirely different `place`. >> > >> > -- >> > You received this message because you are subscribed to the Google Groups >> > "Racket Users" group. >> > To unsubscribe from this group and stop receiving emails from it, send an >> > email to [email protected]. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msgid/racket-users/CAE8gKoemyTeoP2GW5-_h6rGxW_1YcfyCQfHSs9ee98h3pRE4mg%40mail.gmail.com. > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/CAE8gKoemg5DpdSx-iGcmu-5huM19zCtrdZXkjHHE2JhK7aGpXg%40mail.gmail.com. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAK%3DHD%2BZ5rS_a%3Dc71OHuzFkEY_Ln4HcZLfodtWYKSg_ca8YMz7g%40mail.gmail.com.

