- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开发了一个程序,它在开始时创建一个线程。然后我想在线程运行时使用 pthread_cancel()
终止线程。
但是如果我这样做,我就会崩溃。这种崩溃并不总是能够重现。有时程序会避免崩溃。
我发现如果取消的线程正在运行系统调用,pthread_cancel()
可能会导致崩溃。这是真的吗?
dmesg 显示以下错误
myprogramd[1965]: segfault at c ip b76cdef3 sp bfcd5780 error 4 in libpthread-0.9.30.1.so[b76c6000+a000]
最佳答案
我怀疑这是同步问题。我的意思是在另一个线程中,该线程取决于您要终止的线程,您可能正在访问可能无效并导致崩溃的内容。除非您有完整的代码要执行,否则我们无法指出崩溃。
至少尝试在 gdb 上运行您的代码和 get the backtrace 。看here
关于c - pthread_cancel() 使我的程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13292319/
我正在使用 ndk r9b 版本在 android 中构建 ffmpeg 2.1.3。 我使用了下面的命令。 ./configure --enable-shared --prefix=/home/fb
c 函数 pthread_cancel() 可以阻塞还是总是立即返回?我的手册页指出: The above steps happen asynchronously with respect to th
您好,我有一个关于取消使用互斥锁和条件变量的线程的问题。该线程已延迟取消类型。当我只使用函数pthread_mutex_lock/unlock 和pthread_cond_wait 时,一个取消请求到
我正在阅读 Kerrisk's book并看到以下内容作为注释, Caution is required when using a cast integer as the return value o
这个问题已经有答案了: pthread_cancel() function failed to terminate a thread (2 个回答) 已关闭 8 年前。 我在主线程中创建并连接了 2
我开发了一个程序,它在开始时创建一个线程。然后我想在线程运行时使用 pthread_cancel() 终止线程。 但是如果我这样做,我就会崩溃。这种崩溃并不总是能够重现。有时程序会避免崩溃。 我发现如
当我的进程执行完毕时,我想使用 pthread_cancel 取消我的“计时器”线程。基本上我们正在将一个修改后的终端作为一个项目进行。当我在一个终端中调用 sleep 300 时,我希望能够打开另一
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 3 年前。 Improve th
我正在用我的 C 测试代码测试 pthread_cancel() 功能。这不是我正在使用的确切代码,而是用于解释的简化形式。 int main(argc, char *argvp[]) { w
我有一个程序试图通过已实现的池使用创建和取消。 创建如下: int threadsNum=10; while (createdid = created; st->t = newThread;
我有一个程序试图通过已实现的池使用创建和取消。 创建如下: while (createdid = created; st->t = &newThread; pthread_mutex_
在我的程序中,我有两个线程,一个计算一些递归函数,另一个在第一个线程进行计算时显示“进度点”。有代码: #include #include #include #include #include
我的问题类似于this one .但是看完它的所有答案,我仍然不知道pthread_cancel()能得到什么样的安全保证。所以我想问一个更具体的问题: 假设 pthread_cancel() 是在一
我正在使用 pthread_create() 和 pthread_cancel() 函数来创建多线程程序,但我注意到 pthread_cancel() 确实没有真正终止它应该终止的线程。 void c
我正在学习 pthread_cancel 函数并测试线程是否会在未达到取消点时被取消。线程由默认属性创建,并使其在添加循环中运行。但是当发送取消请求并且线程立即退出时。它没有达到取消点,我认为它不应该
大家好,我有一些关于线程的问题,例如我有一些线程 1 分配了一些内存,另一个线程(假设 2)是使用 pthread_cancel() 或仅使用 return 杀死线程 1 它分配的内存和平发生了什么?
我使用的 pthread 不分配任何局部变量。由于我不会在这里讨论的原因,我需要一个 pthread_cancel() 选项,并且我正在编写的线程应该能够支持它(没有资源需要清理,可以在以下位置停止执
我正在尝试从主线程中取消一个线程。它不会立即取消,但大约需要 4 秒。应该是因为我已将其取消类型设置为与默认(延迟)异步。为什么? #include #include #include #inc
我现在正在维护一些代码,它使用 pthread_create() 创建一个 pthread。此线程还在创建后不久调用 pthread_detach(pthread_self());。此外,它使用 pt
我有一个程序应该启动一个线程。为了避免退出软件,线程在无限循环中运行,我加入了线程。这个线程永远不应该返回一个值。所以现在我有一个问题,在我调用 pthread_cancel valgrind 后检测
我是一名优秀的程序员,十分优秀!