a0StartRemoteUrgent()

Executes an urgent service on a remote node.


Syntax

a0tError a0StartRemoteUrgent(
int node,
int service,
a0tRequest *request,
a0tBuffer *buffer );

Arguments

Namerd/wrDescription
node read Node on which the service is executed.
service read Service to be executed.
request write Request descriptor to hold the status.
buffer read Buffer passed to the request.

Description

The service service is executed remotely on node node with parameters passed in buffer buffer (that must be of type A0UrgentBufferType). This function blocks the calling thread until the service starts to execute remotely.

If no parameters are needed, a NULL buffer can be passed to this function.

The difference with starting a remote thread is that here the service is executed directly by a daemon thread, without creation of an independent thread. The function activated by an urgent service must not block.


Return Values

If an error condition occurs, it returns the error code, otherwise it returns A0ErrOk. Possible values are as follows:
Error CodeDescription
A0Err...Some error occurred.
A0ErrOkSuccessful completion.

See Also

a0NewService() a0StartRemoteThread() a0IStartRemoteUrgent()