summaryrefslogtreecommitdiffstats
path: root/Lib/test
stat options
Period:
Authors:

Commits per author per week (path 'Lib/test')

AuthorW07 2026W08 2026W09 2026W10 2026Total
Total00000
option> Tcl is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful.
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2004-10-27 12:52:31 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2004-10-27 12:52:31 (GMT)
commit5bc57d7b0f63d86fc383565d69f7704943fff94d (patch)
tree3ed6ba33b7a0eb1bb7d89c83f86bb2f420d5284a
parent7ea5d4dbe8b82a86701cec95132a8a9557a5f105 (diff)
downloadtcl-5bc57d7b0f63d86fc383565d69f7704943fff94d.zip
tcl-5bc57d7b0f63d86fc383565d69f7704943fff94d.tar.gz
tcl-5bc57d7b0f63d86fc383565d69f7704943fff94d.tar.bz2
More doc fix backporting
Diffstat
-rw-r--r--ChangeLog2
-rw-r--r--doc/fblocked.n38
-rw-r--r--doc/fconfigure.n63
-rw-r--r--doc/file.n49
-rw-r--r--doc/fileevent.n15
-rw-r--r--doc/filename.n11
-rw-r--r--doc/flush.n10
-rw-r--r--doc/for.n29
-rw-r--r--doc/foreach.n8
-rw-r--r--doc/format.n55
-rw-r--r--doc/gets.n14
-rw-r--r--doc/glob.n34
-rw-r--r--doc/global.n37
-rw-r--r--doc/history.n4
-rw-r--r--doc/http.n104
-rw-r--r--doc/if.n37
-rw-r--r--doc/incr.n25
-rw-r--r--doc/info.n32
-rw-r--r--doc/interp.n126
-rw-r--r--doc/join.n18
-rw-r--r--doc/lappend.n12
-rw-r--r--doc/lindex.n22
-rw-r--r--doc/linsert.n15
-rw-r--r--doc/list.n17
-rw-r--r--doc/llength.n28
-rw-r--r--doc/load.n47
-rw-r--r--doc/lrange.n31
-rw-r--r--doc/lreplace.n22
-rw-r--r--doc/lsearch.n19
-rw-r--r--doc/lsort.n35
30 files changed, 743 insertions, 216 deletions
diff --git a/ChangeLog b/ChangeLog
index 9020650..4570acf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
2004-10-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * doc/[a-e]*.n: First stage of backporting documentation updates.
+ * doc/[a-l]*.n: First stage of backporting documentation updates.
2004-10-26 Don Porter <dgp@users.sourceforge.net>
diff --git a/doc/fblocked.n b/doc/fblocked.n
index 7f8fe54..2cb7d85 100644
--- a/doc/fblocked.n
+++ b/doc/fblocked.n
@@ -4,7 +4,7 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
-'\" RCS: @(#) $Id: fblocked.n,v 1.4 2001/09/14 19:20:40 andreas_kupries Exp $
+'\" RCS: @(#) $Id: fblocked.n,v 1.4.8.1 2004/10/27 12:52:39 dkf Exp $
.so man.macros
.TH fblocked n 7.5 Tcl "Tcl Built-In Commands"
.BS
@@ -31,9 +31,43 @@ Tcl standard channel (\fBstdin\fR, \fBstdout\fR, or \fBstderr\fR),
the return value from an invocation of \fBopen\fR or \fBsocket\fR, or
the result of a channel creation command provided by a Tcl extension.
.VE
+.SH EXAMPLE
+The \fBfblocked\fR command is particularly useful when writing network
+servers, as it allows you to write your code in a line-by-line style
+without preventing the servicing of other connections. This can be
+seen in this simple echo-service:
+.PP
+.CS
+# This is called whenever a new client connects to the server
+proc connect {chan host port} {
+ set clientName [format <%s:%d> $host $port]
+ puts "connection from $clientName"
+ fconfigure $chan -blocking 0 -buffering line
+ fileevent $chan readable [list echoLine $chan $clientName]
+}
+
+# This is called whenever either at least one byte of input
+# data is available, or the channel was closed by the client.
+proc echoLine {chan clientName} {
+ gets $chan line
+ if {[eof $chan]} {
+ puts "finishing connection from $clientName"
+ close $chan
+ } elseif {![\fBfblocked\fR $chan]} {
+ # Didn't block waiting for end-of-line
+ puts "$clientName - $line"
+ puts $chan $line
+ }
+}
+
+# Create the server socket and enter the event-loop to wait
+# for incoming connections...
+socket -server connect 12345
+vwait forever
+.CE
.SH "SEE ALSO"
-gets(n), open(n), read(n), Tcl_StandardChannels(3)
+gets(n), open(n), read(n), socket(n), Tcl_StandardChannels(3)
.SH KEYWORDS
blocking, nonblocking
diff --git a/doc/fconfigure.n b/doc/fconfigure.n