Если указатель attrp содержит значение NULL, используются значения по умолчанию.
Все атрибуты процесса, на которые не было оказано влияния со стороны атрибутов, установленных в объекте, адресуемом параметром attrp (как было описано выше), или вследствие манипуляций с файловыми дескрипторами, заданных в параметре file_actions, должны присутствовать в образе нового процесса в таком виде, как будто была вызвана функция fork() для создания сыновнего процесса, а затем член семейства функций exec был вызван сыновним процессом для выполнения образа нового процесса.
THR Запускаются ли обработчики разветвлений при вызове функций posix_spawn () или posix_spawnp (), определяется конкретной реализацией.
Возвращаемые значения
При успешном выполнении функция posix_spawn() (и функция posix_spawnp ()) должна возвратить родительскому процессу идентификационный номер (ID) сыновнего процесса в переменной, адресуемой аргументом pid (если его значение не равно NULL), и нуль в качестве значения, возвращаемого функцией. В противном случае сыновний процесс не создается, значение, сохраненное в переменной, адресуемой аргументом pid (если его значение не равно NULL), не определяется, а в качестве значения, возвращаемого функцией, передается код ошибки, обозначающий ее характер. Если аргумент pid содержит нулевой указатель, значение ID сыновнего процесса инициатору вызова не возвращается.
Ошибки
Вызовы функций posix_spawn() и posix_spawnp() могут оказаться неудачными, если:
[EINVAL] значение, за д анное пара м етро м file_actions или пара м етро м attrp, не д ействительно.
Если ошибка возникла после того, как вызывающий процесс успешно вернулся из функции posix_spawn () или posix_spawnp (), то сыновний процесс может завершиться со стагусом выхода (exit status), равным значению 127.
Если неудачный исход функции posix_spawn () или posix_spawnp () вызван одной из причин, которые бы привели к отказу функции fork () или одной из функций семейства exec, то возвращаемое значение ошибки будет соответствовать описанию для функций fork () и exec соответственно (или, если ошибка возникнет после того, как вызывающий процесс успешно вернется, сыновний процесс завершится со статусом выхода, равным значению 127).
Если в атрибуте spawn-flags объекта, а д ресуе м ого пара м етро м attrp, установлен флаг POSIX_SPAWN_SETPGROUP, а функция posix_spawn() или posix_spawnp() потерпела неу д алу при из м енении группы сыновнего процесса, то возвра щ ае м ое значение ошибки бу д ет соответствовать описанию