Rendezvous is a data synchronization mechanism in Plan 9 from Bell Labs. It is a system call that allows two processes to exchange a single datum while synchronizing.

The rendezvous call takes a tag and a value as its arguments. The tag is typically an address in memory shared by both processes. Calling rendezvous causes a process to sleep until a second rendezvous call with a matching tag occurs. Then, the values are exchanged and both processes are awakened.

More complex synchronization mechanisms can be created from this primitive operation. See also mutual exclusion.

See also

  • Synchronous rendezvous
  • Communicating sequential processes

References

  • Process Sleep and Wakeup on a Shared-memory Multiprocessor by Rob Pike, Dave Presotto, Ken Thompson and Gerard Holzmann.