The Racket repository
Go to file
Matthew Flatt ca57adcf2d fix slow leak in link-establishing thread-resume
Using `(thread-resume t1 t2)` would not prevent a GC of t1, but it
would create an intermediate record to make the link from t1 to t2,
and that intermediate record would leak due to a missing level of
indirection in a table-cleanup traveral. The leak not only accumulated
memory, it also caused ever slower traversals of the table in an
attempt to clean up.

(Since the leak is small and the leaking object is not directly
accessible, I don't have a good idea on how to test this repair
automatically, but see the program in the PR.)

Closes PR 15099.
2015-06-22 16:53:52 +08:00
pkgs Fix docs on thread-resume-evt 2015-06-20 21:43:34 +08:00
racket fix slow leak in link-establishing thread-resume 2015-06-22 16:53:52 +08:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Ignore extra-pkgs/ 2014-12-04 10:44:14 -05:00
.mailmap mailmap updates & fixes. 2013-04-03 18:10:22 -04:00
.travis.yml add mflatt to Travis notification email 2015-03-18 06:44:13 -06:00
appveyor.yml Improve AppVeyor configuration. 2014-12-15 19:56:50 -05:00
INSTALL.txt Makefile: make SRC_CATALOG work for in-place and unix-style 2015-05-03 21:41:46 -07:00
Makefile Makefile: make SRC_CATALOG work for in-place and unix-style 2015-05-03 21:41:46 -07:00
README.txt Professionalism 2014-11-03 06:06:04 -07:00

This is the source code for the main Racket distribution.  See
"INSTALL.txt" for information on building Racket.

License
-------

Racket
Copyright (c) 2010-2014 PLT Design Inc.

Racket is distributed under the GNU Lesser General Public License
(LGPL).  This implies that you may 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 states
that you must release the source code for the modified software.  

See racket/src/COPYING_LESSER.txt for more information.