LINUX.ORG.RU

clisp -> fork -> waitpid -> fail


0

0

Пытаюсь завести cl-fuse под clisp.

Имеется такое поведение: libfuse через cffi вызывает fusermount fork/exec'ом, который в свою очередь дёргает mount. Имеем примерно такую хронологию:

My pid:22830, my ppid: 22829 // Форкнутый fusermount, в котором будет exec
Starting mount 1277616258:962426, parent: 22829 // exec
fusermount: waitpid (22830 from 22829): No child processes
1277616248:962237 => 1277616258:963707; status: -1 //parent

Длинные числа - время исполнения. В mount процессе поставил sleep для наглядности. Получается, что waitpid успешно ждет завершения mount, и возвращает ECHILD. Чего это он так?

clisp обрабатывает сигналы от потомков и вызывает waitpid самостоятельно раньше твоего кода, в итоге, у тебя получается, что потомка уже нет.

archimag ★★★
()
Ответ на: комментарий от vasily_pupkin

Я не пробовал, но да api сигналов в руки и вперёд ;)

archimag ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.