Вот такая проблема: на системе с LinuxThreads один из тредов делает fork(). В это время другой тред, пользуясь известным pid-ом этого треда, делает связку ptrace(PTRACE_ATTACH, pid, NULL, NULL) waitpid(pid, status, __WALL) ptrace(PTRACE_GETREGS, pid, NIL, ®s) ptrace(PTRACE_DETACH, pid, NULL, NULL) Приостановленный тред продолжает работу, но виснет в fork()! В GDB видно, что тред выполнил int 0x80 - системный вызов произошел. Дальше ничего нет - fork() повис где-то, видимо, в ядре. Как же такое может быть?... Что же делать? :(
Форум —
Development

