posix_spawnattr_destroy 或 posix_spawnattr_init 子例程
用途
销毁并初始化衍生属性对象。
语法
#include <spawn.h>
int posix_spawnattr_destroy(posix_spawnattr_t *attr);
int posix_spawnattr_init(posix_spawnattr_t *attr); 描述
posix_spawnattr_destroy 子例程会破坏衍生的属性对象。 可以使用 posix_spawnattr_init重新初始化已销毁的 attr 属性对象; 未定义在对象被销毁后以其他方式引用该对象的结果。 实现可能会导致 posix_spawnattr_destroy 将 attr 引用的对象设置为无效值。
posix_spawnattr_init 子例程使用实现所使用的所有个别属性的缺省值来初始化衍生属性对象 attr 。 如果调用 posix_spawnattr_init 以指定已初始化的 attr 属性对象,那么未定义结果。
衍生属性对象的类型为 posix_spawnattr_t (在 spawn.h 头文件中定义) ,用于指定跨衍生操作的进程属性的继承。 未定义类型 posix_spawnattr_t 的比较或分配运算符。
每个实现都记录了它所使用的各个属性及其缺省值,除非这些值由 IEEE Std 1003.1-2001定义。 未由 IEEE Std 1003.1-2001定义的属性,其缺省值以及用于获取和设置这些属性值的关联函数的名称都是由实现定义的。
生成的衍生属性对象 (可能通过设置个别属性值来修改) 用于修改 posix_spawn 或 posix_spawnp的行为。 在通过调用 posix_spawn 或 posix_spawnp来使用衍生属性对象来衍生进程之后,任何影响属性对象 (包括破坏) 的函数都不会影响以这种方式衍生的任何进程。
返回值
成功完成后, posix_spawnattr_destroy 和 posix_spawnattr_init 子例程将返回 0; 否则,将返回错误号以指示错误。
错误代码
如果以下情况成立,那么 posix_spawnattr_destroy 子例程可能会失败:
| 项 | 描述 |
|---|---|
| EINVAL | attr 指定的值无效。 |