zx_thread_create

摘要

创建会话。

声明

#include <zircon/syscalls.h>

zx_status_t zx_thread_create(zx_handle_t process,
                             const char* name,
                             size_t name_size,
                             uint32_t options,
                             zx_handle_t* out);

说明

zx_thread_create() 会在指定进程内创建线程。

成功后,系统将返回新线程的句柄。线程 在调用 zx_thread_start() 之前不会开始执行。

name 会被静默截断,最多不超过 ZX_MAX_NAME_LEN-1 个字符。

线程句柄可能会等待,并将断言信号 ZX_THREAD_TERMINATED,当线程停止执行(由于 正在调用 zx_thread_exit())。

进程 是进程的控制进程对象 新线程,该线程将成为该进程的子进程。

如需详细了解线程生命周期,请参阅线程对象

权限

process 的类型必须为 ZX_OBJ_TYPE_PROCESS 且包含 ZX_RIGHT_MANAGE_THREAD

返回值

成功后,zx_thread_create() 会返回 ZX_OK 和一个句柄(通过 out) 添加到新线程中。如果失败,错误值为负值: 返回。

错误

ZX_ERR_BAD_HANDLE 进程不是有效的句柄。

ZX_ERR_WRONG_TYPE process 不是进程句柄。

ZX_ERR_ACCESS_DENIED 进程没有 ZX_RIGHT_MANAGE_THREAD 权限。

ZX_ERR_INVALID_ARGS nameout 是无效的指针,或 options 原为 非零值。

ZX_ERR_NO_MEMORY 因内存不足而失败。 用户空间没有好办法处理这种(不太可能)错误。 在将来的版本中,此错误不会再发生。

另请参阅