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 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:: **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.