################################################# # Function definitions for hpux dump type ################################################# proc hpux_dump {host atom level} { global sessionID tmpdir set hostlogfile $tmpdir/BURTlog.${sessionID}.$host if { [string compare $atom "/"] == 0 } { append hostlogfile ".root" } else { regsub -all {/} $atom "." newatom append hostlogfile "$newatom" } append hostlogfile ".$level.hpux" set dumpfd [open "|/s/std/bin/ssh $host -n \"/usr/sbin/vxdump ${level}uf - $atom\" 2> $hostlogfile" {RDONLY NONBLOCK}] set stderrfd [open $hostlogfile r] return [list $dumpfd $stderrfd] } proc hpux_cleanup {host atom level} { global sessionID tmpdir set hostlogfile $tmpdir/BURTlog.${sessionID}.$host if { [string compare $atom "/"] == 0 } { append hostlogfile ".root" } else { regsub -all {/} $atom "." newatom append hostlogfile "$newatom" } append hostlogfile ".$level.hpux" catch {file delete $hostlogfile} } proc hpux_check {host atom level line} { return [regexp {error|Unknown|EXITED|ATTENTION|abort|Bad} $line] } proc hpux_recover {host atom level} { return [open "$host.$level.burt" w] } proc hpux_schedule {line} { global logfilefd rshStatus foreach {host level type} $line {} if { $rshStatus(running) >= 10 } { vwait rshStatus(running) } scheduleHostWithRsh $host $level $type /s/std/bin/ssh -n incr rshStatus(scheduled) # foreach atom [hosttoatomlist $host /s/std/bin/ssh -n] { # schedule add $host $atom $level $type # puts $logfilefd "BURT: Scheduling $host $atom $level $type" # } }