Open System Services System Calls Reference Manual (G06.25+, H06.03+)
SPT_SERVERCLASS_DIALOG_SEND_(3) OSS System Calls Reference Manual
Output
message_buffer
On successful completion of the send, contains the reply returned by the server
process.
actual_reply_len
(Optional) If provided, returns the number of bytes returned in the server process
reply and stored in the area pointed to by message_buffer.
scsend_op_num
(Optional) If provided, returns the value -1. This parameter is provided only for
compatibility with the Guardian SPT_SERVERCLASS_DIALOG_SEND_ pro-
cedure.
DESCRIPTION
This function is used to send a message within the specified dialog to the server instance in the
Pathway serverclass. The parameters and semantics of this function are the same as those of the
Guardian SERVERCLASS_DIALOG_SEND_ procedure, which is described in the
NonStop
TS/MP Pathsend and Server Programming Manual.
This function differs from the Guardian SERVERCLASS_DIALOG_SEND_ procedure in that it
provides only a waited (to the thread) interface. Three optional parameters (flags, scsend-op-
num, and tag) are used to specify nowait operations. These parameters should usually be omit-
ted.
The flags parameter, if provided, must be 0 (zero). If a value other than zero is provided, the
operation fails with an error value of 233 (FEScError).
SPT_SERVERCLASS_SEND_INFO_() reports Pathsend error 909 (FEScInvalid-FlagsValue)
and file-system error 29 (FEInvalOp).
The thread is suspended for the duration of the send operation. Other threads in the process are
scheduled to run. The timeout parameter can be used to specify that the send be canceled after a
specified interval. Alternatively, the pthread_cancel() function can be used (by another thread)
to cancel the send operation in progress in a thread. The cancel exception generated by
pthread_cancel() can be subsequently handled by the thread. As with the CANCEL and
SERVERCLASS_DIALOG_SEND_ Guardian procedures, the program cannot determine
whether the canceled message was sent or canceled before the server process finished processing
the request. If the send is canceled because of expiration of the timeout parameter, then the func-
tion returns with an error value of 233 (FEScError); SPT_SERVERCLASS_SEND_INFO_()
reports Pathsend error 918 (FEScSend-OperationAborted) and Guardian
file-system error 40.
NOTES
The message_buffer parameter should refer to static or heap-allocated storage. It should not be
automatic storage and should not be stack-allocated storage for a TNS process. If stack-allocated
storage for a TNS process is specified, an error value 233 (FEScError) is returned;
SPT_SERVERCLASS_SEND_INFO_() reports Pathsend error 912 (FEScParameterBoundsEr-
ror).
The message buffer is modified by the server reply. Therefore, the same buffer area should not
be used concurrently by more than one thread. The threads package does not check for this con-
dition; it is the responsibility of the programmer who is using threads.
Multiple SPT_SERVERCLASS_DIALOG_SEND_() operations can be in progress in different
threads within a process. The maximum number of concurrent calls is determined by the number
of threads and the Pathsend limit of 512 for each LINKMON.
7−192 Hewlett-Packard Company 527186-003