8.9 Send
- Expr1 ! Expr2
Sends the value of Expr2 as a message to the process specified by Expr1. The value of Expr2 is also the return value of the expression.
Expr1 must evaluate to a pid, a registered name (atom), or a tuple {Name,Node}. Name is an atom and Node is a node name, also an atom.
- If Expr1 evaluates to a name, but this name is not registered, a badarg run-time error occurs.
- Sending a message to a pid never fails, even if the pid identifies a non-existing process.
- Distributed message sending, that is, if Expr1 evaluates to a tuple {Name,Node} (or a pid located at another node), also never fails.