LINUX.ORG.RU

Код возврата pclose()


0

0

Всем привет! Никто не помнит - что значит код возврата в pclose()?

То есть если порожденный процесс успешно выполнился - то возвращается 0 как и положено а если ошибка - то некий код. Его можно как-нибудь расшифровать, привязать к кодам perror там?

anonymous

Ответ на: комментарий от BreadFan

разумеется я знаю про strerror()

Я же говорю: коды эти - не из диапазона обычных errno!

естественно, при этом получается: Unknown error 256

Что очень информативно :-)

anonymous
()
Ответ на: комментарий от anonymous

Я тоже подумал, что что-то здесь не так, раз ты задал этот вопрос, но вот что написано в манах

The popen function does not set errno if memory allocation fails. If the underlying fork() or pipe() fails, errno is set appropriately.

If the mode argument is invalid, and this condition is detected, errno is set to EINVAL.

If pclose() cannot obtain the child status, errno is set to ECHILD.

И ничего необычного вроде нет. Сорри, за то, что не ответил на твой вопрос.

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

да, но в том-то и джело что pclose() возвращает вменяемые результаты! Если ошибки нет - то 0, а

если Permission denied то 256 если unknown command - то 32512 и т.д.

Может есть их описание или способ получения строковых значений как strerror.

anonymous
()
Ответ на: комментарий от anonymous

разобрался! там все как в wait() тока в мане они об этом не написали, рассчитывая на то, что человек пороется в исходниках видимо :-)

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