Posted to tcl by mjanssen at Wed Aug 26 16:26:57 GMT 2009view raw
- proc filter {list proc} {
- puts $list
- set result {}
- foreach element $list {if {![$proc $element]} {lappend result $element}}
- return $result
- }
- proc alive server {
- return [ping $server]
- }
- proc ping {a} {if {$a eq "localhost"} {return 1} else {return 0}
- }
- set servers {localhost localhost localhost abcd}
- while {[llength [set servers [filter $servers alive]]]>0 && [incr retry] < 4} {}