5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
|
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
vwait x
set result $x
testchannelevent $f set 0 none
after idle {set y done}
vwait y
lappend result $y
} {2 done}
test io-34.1 {buffered data and file events, gets} {
proc accept {sock args} {
set ::s2 $sock
}
set server [socket -server accept 4040]
set s [socket localhost 4040]
vwait s2
update
fileevent $s2 readable {lappend result readable}
puts $s "12\n34567890"
flush $s
set result [gets $s2]
after 1000 {lappend result timer}
vwait result
lappend result [gets $s2]
vwait result
close $s
close $s2
close $server
set result
} {12 readable 34567890 timer}
test io-34.2 {buffered data and file events, read} {
proc accept {sock args} {
set ::s2 $sock
}
set server [socket -server accept 4040]
set s [socket localhost 4040]
vwait s2
update
fileevent $s2 readable {lappend result readable}
puts -nonewline $s "1234567890"
flush $s
set result [read $s2 1]
after 1000 {lappend result timer}
vwait result
lappend result [read $s2 9]
vwait result
close $s
close $s2
close $server
set result
} {1 readable 234567890 timer}
removeFile fooBar
removeFile longfile
removeFile script
removeFile output
removeFile test1
removeFile pipe
|