Skip to content

Latest commit

 

History

History
59 lines (37 loc) · 1.57 KB

thread_create.md

File metadata and controls

59 lines (37 loc) · 1.57 KB

zx_thread_create

NAME

thread_create - create a thread

SYNOPSIS

#include <zircon/syscalls.h>

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

DESCRIPTION

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 thread_start() is called.

name is silently truncated to a maximum of ZX_MAX_NAME_LEN-1 characters.

When the last handle to a thread is closed, the thread is destroyed.

Thread handles may be waited on and will assert the signal ZX_THREAD_TERMINATED when the thread stops executing (due to thread_exit*() being called).

process is the controlling process object for the new thread, which will become a child of that process.

RETURN VALUE

On success, thread_create() returns ZX_OK and a handle (via out) to the new thread. In the event of failure, a negative error value is returned.

ERRORS

ZX_ERR_BAD_HANDLE process is not a valid handle.

ZX_ERR_WRONG_TYPE process is not a process handle.

ZX_ERR_INVALID_ARGS name or out was an invalid pointer, or options was non-zero.

ZX_ERR_NO_MEMORY (Temporary) Failure due to lack of memory.

SEE ALSO

handle_close, handle_duplicate, object_wait_one, object_wait_many, thread_exit, thread_start.