POSIX:perror()-“ MT安全竞赛:stderr”是什么意思?

时间:2018-07-04 09:30:27

标签: posix

请有人可以帮助我理解POSIX安全概念,尤其是对于perror()。手册页指出perror()是“ MT-Safe race:stderr”。当perror()输出到标准错误时,我想了解给定的竞争条件对实现意味着什么。

这是否意味着stderr上的输出可能是混合的,还是有人必须关心的其他事情?

1 个答案:

答案 0 :(得分:2)

这意味着perror写入stderrstderr不是线程安全的。竞争状态意味着,如果多个线程同时写入stderr,则可能会产生交错输出。

POSIX requires most functions to be thread-safe

  

本卷POSIX.1-2017定义的所有函数均应是线程安全的,但以下功能1不必是线程安全的。

perror不在该列表中。