调用函数时系统调用错误

时间:2016-01-17 09:28:04

标签: tcl

我正在调用以下函数:

write_phy 1 0 0x100

函数write_phy是:

proc write_phy {phy register value} {
  if { [regexp {^0} $value] } {
        scan $value "%o" value
     }

  if {$::DEBUG} {
       puts [format "Write PHY %s register %s = 0x%0.8X" $phy $register $value]
    }
 # exec ./write_phy.pl $phy $register $value
}

after 1;

执行函数时,虽然print语句正常工作,但我收到系统调用错误:

Write PHY 1 register 0 = 0x00000000

Disallowed system call: SYS__newselect

代码中的其他功能正常运作。

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果我让代码在Tcl 8.6(Raspbian)上运行,它告诉我它期望一个整数但得到“256”。您使用的是哪个版本的Tcl和操作系统?您是否正在运行包含电池的Tcl(如Etcl)或其他一些发行版?

P.S。在将脚本加载到解释器中时,全局上下文中的“后1”只会暂停一毫秒。它与错误本身无关。我想你可以删除它。