我读过libc中的正则expression式函数应该是线程安全的,但我也读过,在早期版本中,情况并非如此。
我现在必须在具有旧的libc版本2.2.5的embedded式系统上工作。
所以我不太确定像“regexec”这样的函数是线程安全还是应该用互斥体保护呢?
如果有人有任何线索,我将不胜感激。 我也不是很确定我应该testing什么来validation这些函数的线程安全性。
我在最近的libc版本(2.13)中搜索了regex关键字的NEWS文件。 没有关于线程安全性的内容,但是以下说明:
Version 2.3 ... Isamu Hasegawa contributed a completely new and POSIX-conformant implementation of regex.
但据此,2.3之后出现了一些并发问题,所以对于2.2.5来说看起来不太好
根据这个非常类似的问题 POSIX一致性意味着regexec必须是线程安全的,但并不意味着在早期版本的libc中没有并发性错误。