74 lines
1.9 KiB
Markdown
74 lines
1.9 KiB
Markdown
# PR_AttachThread
|
|
|
|
:::{container} blockIndicator obsolete obsoleteHeader
|
|
**Obsolete**
|
|
|
|
This feature is obsolete. Although it may still work in some
|
|
browsers, its use is discouraged since it could be removed at any
|
|
time. Try to avoid using it.
|
|
:::
|
|
|
|
Associates a {ref}`PRThread` object with an existing native thread.
|
|
|
|
## Syntax
|
|
|
|
```{code}
|
|
#include <pprthread.h>
|
|
|
|
PRThread* PR_AttachThread(
|
|
PRThreadType type,
|
|
PRThreadPriority priority,
|
|
PRThreadStack *stack);
|
|
```
|
|
|
|
### Parameters
|
|
|
|
{ref}`PR_AttachThread` has the following parameters:
|
|
|
|
`type`
|
|
|
|
: Specifies that the thread is either a user thread
|
|
(`PR_USER_THREAD`) or a system thread (`PR_SYSTEM_THREAD`).
|
|
|
|
`priority`
|
|
|
|
: The priority to assign to the thread being attached.
|
|
|
|
`stack`
|
|
|
|
: The stack for the thread being attached.
|
|
|
|
### Returns
|
|
|
|
The function returns one of these values:
|
|
|
|
- If successful, a pointer to a {ref}`PRThread` object.
|
|
- If unsuccessful, for example if system resources are not available,
|
|
`NULL`.
|
|
|
|
## Description
|
|
|
|
You use {ref}`PR_AttachThread` when you want to use NSS functions on the
|
|
native thread that was not created with NSPR. {ref}`PR_AttachThread`
|
|
informs NSPR about the new thread by associating a {ref}`PRThread` object
|
|
with the native thread.
|
|
|
|
The thread object is automatically destroyed when it is no longer
|
|
needed.
|
|
|
|
You don't need to call {ref}`PR_AttachThread` unless you create your own
|
|
native thread. {ref}`PR_Init` calls {ref}`PR_AttachThread` automatically for
|
|
the primordial thread.
|
|
|
|
:::{note}
|
|
As of NSPR release v3.0, {ref}`PR_AttachThread` and
|
|
{ref}`PR_DetachThread` are obsolete. A native thread not created by NSPR
|
|
is automatically attached the first time it calls an NSPR function,
|
|
and automatically detached when it exits.
|
|
:::
|
|
|
|
In NSPR release 19980529B and earlier, it is necessary for a native
|
|
thread not created by NSPR to call {ref}`PR_AttachThread` before it calls
|
|
any NSPR functions, and call {ref}`PR_DetachThread` when it is done calling
|
|
NSPR functions.
|