The Racket repository
![]() Allow a thread to be GCed when it is blocked on a place
channel for reading and the place channel's write end
is inaccessible.
GC is limited to threads that do not participate in cycles
of such threads, where the otherwise unerachable threads
are blocked on place channels that are reachable among the
set of threads. In other words, the GC finds the greatest
fix point (as measured by the threads to retain) instead of
least fix point --- which isn't what you want, but finding
the least fix point seems to require significant extra GC
machinery across places.
This improvement was intended to solve the same problem as
commit
|
||
---|---|---|
collects | ||
doc | ||
man/man1 | ||
src | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
README |
The Racket Programming Language =============================== Instructions for building Racket from source are in src/README. The main executables in this package: * DrRacket: Racket's integrated development environment (start here!). * racket: command-line tool for running Racket programs. * raco: command-line tool for compilation, documentation, and more. More Information ---------------- For Racket documentation, use DrRacket's `Help' menu, run the `Racket Documentation' application (Windows or Mac OS X), or run `raco docs' from a command line. Visit us at http://racket-lang.org/ for more Racket resources. License ------- Racket Copyright (c) 2010-2013 PLT Design Inc. Racket is distributed under the GNU Lesser General Public License (LGPL). This means that you can link Racket into proprietary applications, provided you follow the rules stated in the LGPL. You can also modify Racket; if you distribute a modified version, you must distribute it under the terms of the LGPL, which in particular means that you must release the source code for the modified software. See doc/release-notes/COPYING.txt for more information.