isend

Gamma: Version 4.0
Prev |  | Next

# `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`

Prev | Home | Next
`init_ipc` | Up | `locate_task`

Copyright 1995-2002 by Cogent Real-Time Systems, Inc.