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