【问题标题】:Are regex functions like "regexec" thread safe in libc version 2.2.5?在 libc 2.2.5 版中,像“regexec”线程这样的正则表达式函数是否安全?
【发布时间】:2011-10-17 09:39:35
【问题描述】:

我读过 libc 中的正则表达式函数应该是线程安全的,但我也读过在早期版本中并非如此。

我现在必须在具有旧 libc 版本 2.2.5 的嵌入式系统上工作。

所以我不确定“regexec”之类的函数是否是线程安全的,或者它们是否应该受到互斥锁的保护?

如果有人对此有任何线索,我将不胜感激。我也不太确定我应该测试什么来验证这些函数的线程安全性。

【问题讨论】:

标签: regex linux gcc thread-safety libc


【解决方案1】:

我在最近的 libc 版本 (2.13) 中的 NEWS 文件中搜索了 regex 关键字。没有关于线程安全的内容,但请注意以下几点:

Version 2.3

...

Isamu Hasegawa contributed a completely new and POSIX-conformant implementation of regex.

但是根据this 的说法,2.3 之后出现了一些并发问题,所以对于 2.2.5 来说情况看起来不太好

根据这个非常相似的question POSIX 一致性意味着 regexec 必须是线程安全的,但这并不意味着在早期版本的 libc 中没有并发错误。

【讨论】:

    猜你喜欢
    • 2019-11-16
    • 2010-11-24
    • 1970-01-01
    • 2011-05-23
    • 2017-11-27
    • 2013-05-06
    • 2011-12-18
    • 2011-03-04
    • 1970-01-01
    相关资源
    最近更新 更多