@@ -36,10 +36,10 @@ proc set_defaults {} {
3636 set ::LH(start) [clock seconds]
3737 # don't include glxgears, error suffices
3838 program_check {halrun halcmd lsmod pgrep pkill hostname}
39+ set ::LH(realtime) [exec linuxcnc_var REALTIME]
40+ program_check $::LH(realtime)
3941 if {[string first rtai [string tolower $::tcl_platform(osVersion) ]] >=0} {
4042 set ::LH(rtai) rtai
41- set ::LH(realtime) [exec linuxcnc_var REALTIME]
42- program_check $::LH(realtime)
4343 }
4444
4545 set ::LH(use_x) 1
@@ -317,6 +317,10 @@ proc load_packages {} {
317317 exec $::LH(realtime) start &
318318 progress " Delay for realtime startup"
319319 after 1000 ;# wait to load Hal package
320+ } else {
321+ exec $::LH(realtime) start >@stdout 2>@stderr
322+ # No need to exec in background and wait
323+ # uspace realtime has next to no startup delay
320324 }
321325
322326 # augment ::auto_path for special case:
@@ -343,12 +347,10 @@ proc rt_status_items {} {
343347 # realtime: type from 'realtime verify' stdout, yes/no from its exit status.
344348 set rt_text " no realtime"
345349 set rt_ok 0
346- if {![catch {exec linuxcnc_var REALTIME} rt]} {
347- if {![catch {open [list | $rt verify 2> /dev/null] r} chan]} {
348- set out [string trim [read $chan ]]
349- set rt_ok [expr {![catch {close $chan }]}]
350- if {$out ne " " } {set rt_text $out }
351- }
350+ if {![catch {open [list | $::LH(realtime) verify 2> /dev/null] r} chan]} {
351+ set out [string trim [read $chan ]]
352+ set rt_ok [expr {![catch {close $chan }]}]
353+ if {$out ne " " } {set rt_text $out }
352354 }
353355 lappend items [list $rt_text [expr {$rt_ok ? " " : $red }]]
354356
0 commit comments