首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CCL Lisp中的断管错误

CCL Lisp中的断管错误
EN

Stack Overflow用户
提问于 2017-03-15 00:28:22
回答 1查看 100关注 0票数 0

我正在使用CCL Lisp并行运行多个实验。在我的机器上,一切都运行得很好。但是,我想在服务器上使用它。当我在服务器上执行此命令时,我总是收到以下错误消息:

代码语言:javascript
复制
> Error: on #<BASIC-CHARACTER-OUTPUT-STREAM UTF-8 (PIPE/7) #x302001C2725D> : 
>        Broken pipe during write
> While executing: #<CCL::STANDARD-KERNEL-METHOD CCL::STREAM-IO-ERROR (STREAM T T)>, in process listener(1).

当我处理这个错误时,我的代码总是到达相同的点。下面是代码的摘录:

代码语言:javascript
复制
    ;; ... A really long function
    ;; write commands to processes
    (format t ".. writing commands to process ~a:~%" counter)
    (loop for c in commands
          do
          (format t "  ~a~%" c)
          (write-string c output-stream)
          (princ  #\lf output-stream))
    (force-output t)
    (force-output output-stream)
    (finish-output output-stream)
    #-lispworks
    (close output-stream))

我认为这个错误发生在loop语句内部,因为并不是所有的commands都写入到输出流中。

如何进一步调试并解决此问题?

EN

回答 1

Stack Overflow用户

发布于 2017-03-15 01:36:54

“断开的管道”意味着当Lisp进程正在向管道写入数据时,本应从管道读取数据的进程已经死了。

哦,问题可能出在Lisp之外。您需要查看另一个进程发生了什么。

PS。您可以将write-stringprinc合并到单个write-line中。此外,如果您立即调用finish-output,则不需要force-output

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42791455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档