tt_thread_session_set(library call)

NAME
tt_thread_session_set — set the default session identifier for the current thread

SYNOPSIS

#include &<Tt/tt_c.h>
Tt_status tt_thread_session_set(
const char *sessid);

DESCRIPTION

The tt_thread_session_set function sets the default session identifier for the currently active thread. The ToolTalk service uses the initial user session as the default session and supports one session per procid. The application can make this call before it calls tt_open to specify which session it wants to connect to in the active thread.

To change to another opened session, the application must use either tt_thread_procid_set or tt_default_procid_set.

To join other sessions, the procid must first set the new session as the default session, and then initialize and register with the ToolTalk service. The calls required must be in the following order: tt_thread_session_set or tt_default_session_set and then tt_open.

The tt_open call may create another ToolTalk procid, the connection to which is identified by a procid. Only one ToolTalk session per procid is allowed. (However, multiple procids are allowed in a client.)

There are no API calls to determine the session to which a procid is connected. If it is important for the application to know the session to which it is connected, it must make the following calls in the indicated order: tt_open and then tt_thread_session.

ARGUMENTS

sessid
    Specifies a pointer to the unique identifier string for the session that is to be the default session for the current thread.

RETURN VALUE

Upon successful completion, the tt_thread_session_set function returns the status of the operation as one of the following Tt_status values:

TT_OK
    The operation completed successfully.

TT_ERR_NOMP
    The ttsession process is not running and the ToolTalk service cannot start it.

TT_ERR_PROCID
    The current default process identifier is out of date or invalid.

TT_ERR_SESSION
    The specified ToolTalk session is out of date or invalid.

TT_ERR_UNIMP
    The ToolTalk implementation does not support multithreading.

TT_ERR_TOOLATE
    The multithreading feature has not been enabled.

APPLICATION USAGE

Some ToolTalk API calls implicitly depend on the current default session. Setting the default session for the specific thread prevents race conditions caused by other threads changing the global default session.

SEE ALSO

Tt/tt_c.h - Tttt_c(5), tt_default_procid(3), tt_default_session(3), tt_feature_required(3), tt_thread_procid(3), tt_thread_session(3)