Posted to tcl by schelte at Sat Jun 25 13:41:00 GMT 2011view raw
- proc coread {sock lenght} {
- set rc ""
- chan event $sock readable [info coroutine]
- while {[string length $rc] < $length} {
- if {[eof $sock]} {# do something}
- yield
- append rc [read $sock [expr {$lenght - [string length $rc]]
- }
- chan event $sock readable {}
- return $rc
- }