Create a thread.
#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() creates a thread within the specified process.
Upon success a handle for the new thread is returned. The thread
will not start executing until
zx_thread_start() is called.
name is silently truncated to a maximum of
Thread handles may be waited on and will assert the signal
ZX_THREAD_TERMINATED when the thread stops executing (due to
zx_thread_exit() being called).
process is the controlling process object for the new thread, which will become a child of that process.
For thread lifecycle details see thread object.
process must be of type ZX_OBJ_TYPE_PROCESS and have ZX_RIGHT_MANAGE_THREAD.
zx_thread_create() returns ZX_OK and a handle (via out)
to the new thread. In the event of failure, a negative error value is
ZX_ERR_BAD_HANDLE process is not a valid handle.
ZX_ERR_WRONG_TYPE process is not a process handle.
ZX_ERR_ACCESS_DENIED process does not have the ZX_RIGHT_MANAGE_THREAD right.
ZX_ERR_INVALID_ARGS name or out was an invalid pointer, or options was non-zero.
ZX_ERR_NO_MEMORY Failure due to lack of memory. There is no good way for userspace to handle this (unlikely) error. In a future build this error will no longer occur.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-02-10.