From 903cf0c3a7c1b8a6e73f5991bae107beb43e9d21 Mon Sep 17 00:00:00 2001 From: sandeep Date: Wed, 29 Mar 2000 20:19:59 +0000 Subject: 2000-03-29 Sandeep Tamhankar * 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. --- ChangeLog | 13 +++++++++++++ library/http/http.tcl | 7 +++---- library/http2.1/http.tcl | 7 +++---- library/http2.3/http.tcl | 7 +++---- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index c91e7da..542ef26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2000-03-29 Sandeep Tamhankar + + * 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 * 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) -- cgit v0.12