Thanks for spotting that leak!! On Friday, October 5, 2012, wrote:
> eli has updated `master' from cb42b7ed6a to e7db0bdac4. > http://git.racket-lang.org/plt/cb42b7ed6a..e7db0bdac4 > > =====[ 3 Commits ]====================================================== > Directory summary: > 6.5% collects/net/ > 46.6% collects/openssl/ > 46.8% collects/scribble/ > > ~~~~~~~~~~ > > fa0336b Marc Burns <m4bu...@uwaterloo.ca <javascript:;>> 2012-09-23 03:11 > : > | Call `close-output-port' on abandoned port in `ssl-abandon-port'. > | > | This change causes the abandoned output port to be properly shutdown, > | when the `shutdown-on-close' option is set, and decrements the mzssl > | struct reference count when a port is abandoned. > | > | Previously, the `*-[im]pure-port' methods from `net/url' would fail to > | close the SSL socket associated with the connection when > | `close-input-port' was called on the port object returned. This patch > | causes the underlying socket to be closed when `close-input-port' is > | called on SSL-based ports returned by functions in `net/url'. > : > M collects/openssl/mzssl.rkt | 4 +++- > > ~~~~~~~~~~ > > 25bc661 Marc Burns <m4bu...@uwaterloo.ca <javascript:;>> 2012-09-23 19:54 > : > | Fix socket leak on redirected `*-pure-port' calls. > | > | A port over which a redirection is served to get-pure-port is not closed > | if `get-pure-port' follows the redirection. This leaks file descriptors > | on the host machine. > : > M collects/net/url.rkt | 1 + > > ~~~~~~~~~~ > > e7db0bd Manu <manu.de...@gmail.com <javascript:;>> 2012-09-26 15:35:52 > +1200 > : > | Added CSS rules for printing. > : > M collects/scribble/scribble.css | 12 ++++++++++++ > > =====[ Overall Diff ]=================================================== > > collects/net/url.rkt > ~~~~~~~~~~~~~~~~~~~~ > --- OLD/collects/net/url.rkt > +++ NEW/collects/net/url.rkt > @@ -254,6 +254,7 @@ > (regexp-match #rx"^HTTP/[0-9]+[.][0-9]+ 3[0-9][0-9]" status)) > (cond > [(and redirection-status-line? new-url (not (zero? redirections))) > + (close-input-port ip) > (redirection-loop (- redirections 1) new-url)] > [else > (define-values (in-pipe out-pipe) (make-pipe)) > > collects/openssl/mzssl.rkt > ~~~~~~~~~~~~~~~~~~~~~~~~~~ > --- OLD/collects/openssl/mzssl.rkt > +++ NEW/collects/openssl/mzssl.rkt > @@ -1067,7 +1067,9 @@ > (let-values ([(mzssl input?) (lookup 'ssl-abandon-port "(and/c > ssl-port? output-port?)" p)]) > (when input? > (raise-argument-error 'ssl-abandon-port "(and/c ssl-port? > output-port?)" p)) > - (set-mzssl-shutdown-on-close?! mzssl #f))) > + (set-mzssl-shutdown-on-close?! mzssl #f) > + ;; Call close-output-port to flush, shutdown, and decrement mzssl > refcount. > + (close-output-port p))) > > (define (ssl-peer-verified? p) > (let-values ([(mzssl input?) (lookup 'ssl-peer-verified? "ssl-port?" > p)]) > > collects/scribble/scribble.css > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > --- OLD/collects/scribble/scribble.css > +++ NEW/collects/scribble/scribble.css > @@ -469,3 +469,15 @@ i { > display: inline; > white-space: nowrap; > } > + > +/* print styles : hide the navigation elements */ > +@media print { > + .tocset, > + .navsettop, > + .navsetbottom { display: none; } > + .maincolumn { > + width: auto; > + margin-right: 13em; > + margin-left: 0; > + } > +} >
_________________________ Racket Developers list: http://lists.racket-lang.org/dev