Tip*_*pin 5 lisp sockets emacs elisp
我正在使用process-send-string发送数据到套接字连接,但我不满意这个功能的效果.粗略地说,呼叫(process-send-string "foo")最终可能会发送"bar",然后"foo",如下所述.
正如Emacs维护者所指出的那样,C代码process-send-string调用一个函数wait_reading_process_output(甚至在实际编写任何东西之前),它可以运行定时器,而这些定时器又可以调用process-send-string,并且在这些嵌套调用之间不会强制执行排序.
这使得实际上不可能实现RPC协议,该协议旨在由在不受控制的时间调用的钩子使用.所以我的问题是,我们怎样才能为此目的实现一个原子的,"同步"的写原语?