正则表达式函数如“regexec”吗? libc 版本 2.2.5 中线程安全吗?

发布于 2024-12-10 07:44:40 字数 205 浏览 4 评论 0原文

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

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

所以我不太确定像“regexec”这样的函数是否是线程安全的或者它们是否应该受到互斥体的保护?

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

I've read that regex functions in the libc should be threadsafe, but I've also read that in earlier version it was not the case.

I now have to work on an embedded system that has an old libc version 2.2.5 .

So I'm not really sure if functions like "regexec" are thread safe or if they should be protected by a mutex?

If anyone has any clue about this, I would be grateful. I'm also not very sure about what I should test against to verify the thread safety of these functions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

圈圈圆圆圈圈 2024-12-17 07:44:40

我在最近的 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 的情况看起来不太好

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

I searched the NEWS file in a recent libc version (2.13) for the regex keyword. There is nothing about thread safety, but the following note :

Version 2.3    
...

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

But according to this, there have been some concurrency issue after 2.3 so things does not look so good for 2.2.5

According to this very similar question POSIX conformance means regexec must be thread safe, but it does not mean there is no concurrency bug in earlier version of the libc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文