diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | library/http/http.tcl | 7 | ||||
-rw-r--r-- | library/http2.1/http.tcl | 7 | ||||
-rw-r--r-- | library/http2.3/http.tcl | 7 |
4 files changed, 22 insertions, 12 deletions
@@ -1,3 +1,16 @@ +2000-03-29 Sandeep Tamhankar <sandeep@scriptics.com> + + * library/http2.1/http.tcl: Removed an unnecessary fileevent + statement from the error processing part of the Write method. + Also, fixed two potential memory leaks in wait and reset, in which + the state array wasn't being unset before throwing an exception. + Prior to this version, Brent checked in a fix to catch a + fileevent statement that was sometimes causing a stack trace when + geturl was called with -timeout. I believe Brent's fix is + necessary because TLS closes bad sockets for secure connections, + and the fileevent was trying to act on a socket that no longer + existed. + 2000-03-27 Jeff Hobbs <hobbs@scriptics.com> * tests/httpd: removed unnecessary 'puts stderr "Post Dispatch"' diff --git a/library/http/http.tcl b/library/http/http.tcl index 16a6d05..617684c 100644 --- a/library/http/http.tcl +++ b/library/http/http.tcl @@ -9,7 +9,7 @@ # See the file "license.terms" for information on usage and # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: http.tcl,v 1.27 2000/03/27 21:22:11 welch Exp $ +# RCS: @(#) $Id: http.tcl,v 1.28 2000/03/29 20:19:59 sandeep Exp $ package provide http 2.3 ;# This uses Tcl namespaces @@ -177,7 +177,7 @@ proc http::reset { token {why reset} } { Finish $token if {[info exists state(error)]} { set errorlist $state(error) - unset state(error) + unset state eval error $errorlist } } @@ -545,7 +545,6 @@ proc http::Write {token} { fileevent $s readable [list http::Event $token] } } err]} { - fileevent $s writable {} Finish $token $err } } @@ -718,7 +717,7 @@ proc http::wait {token} { } if {[info exists state(error)]} { set errorlist $state(error) - unset state(error) + unset state eval error $errorlist } return $state(status) diff --git a/library/http2.1/http.tcl b/library/http2.1/http.tcl index 16a6d05..617684c 100644 --- a/library/http2.1/http.tcl +++ b/library/http2.1/http.tcl @@ -9,7 +9,7 @@ # See the file "license.terms" for information on usage and # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: http.tcl,v 1.27 2000/03/27 21:22:11 welch Exp $ +# RCS: @(#) $Id: http.tcl,v 1.28 2000/03/29 20:19:59 sandeep Exp $ package provide http 2.3 ;# This uses Tcl namespaces @@ -177,7 +177,7 @@ proc http::reset { token {why reset} } { Finish $token if {[info exists state(error)]} { set errorlist $state(error) - unset state(error) + unset state eval error $errorlist } } @@ -545,7 +545,6 @@ proc http::Write {token} { fileevent $s readable [list http::Event $token] } } err]} { - fileevent $s writable {} Finish $token $err } } @@ -718,7 +717,7 @@ proc http::wait {token} { } if {[info exists state(error)]} { set errorlist $state(error) - unset state(error) + unset state eval error $errorlist } return $state(status) diff --git a/library/http2.3/http.tcl b/library/http2.3/http.tcl index 16a6d05..617684c 100644 --- a/library/http2.3/http.tcl +++ b/library/http2.3/http.tcl @@ -9,7 +9,7 @@ # See the file "license.terms" for information on usage and # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: http.tcl,v 1.27 2000/03/27 21:22:11 welch Exp $ +# RCS: @(#) $Id: http.tcl,v 1.28 2000/03/29 20:19:59 sandeep Exp $ package provide http 2.3 ;# This uses Tcl namespaces @@ -177,7 +177,7 @@ proc http::reset { token {why reset} } { Finish $token if {[info exists state(error)]} { set errorlist $state(error) - unset state(error) + unset state eval error $errorlist } } @@ -545,7 +545,6 @@ proc http::Write {token} { fileevent $s readable [list http::Event $token] } } err]} { - fileevent $s writable {} Finish $token $err } } @@ -718,7 +717,7 @@ proc http::wait {token} { } if {[info exists state(error)]} { set errorlist $state(error) - unset state(error) + unset state eval error $errorlist } return $state(status) |