summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--library/http/http.tcl7
-rw-r--r--library/http2.1/http.tcl7
-rw-r--r--library/http2.3/http.tcl7
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 <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)