Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux gdb导致sem_wait()失败,出现EINTR错误_Linux_Gdb_Signals_Semaphore - Fatal编程技术网

Linux gdb导致sem_wait()失败,出现EINTR错误

Linux gdb导致sem_wait()失败,出现EINTR错误,linux,gdb,signals,semaphore,Linux,Gdb,Signals,Semaphore,从Ubuntu切换到CentOS 5.4后,我们遇到了一个奇怪的GDB行为。在调试器中运行应用程序会导致sem_wait()返回几(5-10)次EINTR错误 我安装了最新的GDB版本,但没有解决问题。 我想这是因为GDB发送了一些信号,但我无法在信号处理程序中获得任何信息 在sem_wait()之后测试errno并恢复等待不是什么大问题,我只是想知道是否有人对这种现象有解释。您知道,在(sem_wait(&sem)=-1&&errno==EINTR)继续时,您应该(几乎)总是?@我现在是。我只

从Ubuntu切换到CentOS 5.4后,我们遇到了一个奇怪的GDB行为。在调试器中运行应用程序会导致
sem_wait()
返回几(5-10)次
EINTR
错误

我安装了最新的GDB版本,但没有解决问题。 我想这是因为GDB发送了一些信号,但我无法在信号处理程序中获得任何信息


sem_wait()
之后测试
errno
并恢复等待不是什么大问题,我只是想知道是否有人对这种现象有解释。

您知道,在(sem_wait(&sem)=-1&&errno==EINTR)继续时,您应该(几乎)总是
?@我现在是。我只是好奇为什么我在Ubuntu上没有这个信号。这里的区别是什么,是内核还是glibc?您的应用程序是否在内部使用
alarm()
或任何其他信号?在GDB下运行可能只是改变正在发生的事情的时间。您知道在(sem_wait(&sem)=-1&&errno==EINTR)继续时,您应该(几乎)总是
?@我现在是。我只是好奇为什么我在Ubuntu上没有这个信号。这里的区别是什么,是内核还是glibc?您的应用程序是否在内部使用
alarm()
或任何其他信号?在GDB下运行可能只是改变正在发生的事情的时间。