isend

isend — sends a synchronous message and doesn't wait for the result.

Syntax

isend (task, s_exp)

		

Arguments

task

A task descriptor as assigned to a locate_task call.

s_exp

Any Gamma or Lisp expression.

Returns

t if the message was sent successfully, otherwise nil.

Description

This function sends a message via synchronous interprocess communication, but does not wait for the result. The receiving task must respond immediately, prior to actually evaluating the message that was sent. The result code can only show whether the message was sent successfully. This is a compromise between synchronous and asynchronous messaging techniques.

Example

Gamma> init_ipc("mytask","myqueue");
t	
Gamma> task = locate_task("other_task",nil);
<task id>
Gamma> isend(task,#list(do_something));
t
		

See Also

locate_task, send, send_async