Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sdenter(2) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sdget(2)

sdgetv(2)



sdenter(2)     UNIX System V(Application Compatibility Package)      sdenter(2)


NAME
      sdenter, sdleave - synchronize access to a shared data segment

SYNOPSIS
      cc [flag . . .] file . . . -lx

      #include <sys/sd.h>

      int sdenter(char *addr, int flags);

      int sdleave(char *addr);

DESCRIPTION
      sdenter is used to indicate that the current process is about to access
      the contents of a shared data segment.  The actions performed depend on
      the value of flags.  flags values are formed by OR-ing together entries
      from the following list:

      SDNOWAIT   If another process has called sdenter but not sdleave for the
                  indicated segment, and the segment was not created with the
                  SDUNLOCK flag set, return an ENAVAIL error instead of
                  waiting for the segment to become free.

      SDWRITE    Indicates that the process wants to write data to the shared
                  data segment.  A process that has attached to a shared data
                  segment with the SDRDONLY flag set will not be allowed to
                  enter with the SDWRITE flag set.

      sdleave is used to indicate that the current process is done modifying
      the contents of a shared data segment.

      Only changes made between invocations of sdenter and sdleave are
      guaranteed to be reflected in other processes.  sdenter and sdleave are
      very fast; consequently, it is recommended that they be called frequently
      rather than leave sdenter in effect for any period of time.  In
      particular, system calls should be avoided between sdenter and sdleave
      calls.

      The fork system call is forbidden between calls to sdenter and sdleave if
      the segment was created without the SDUNLOCK flag.

DIAGNOSTICS
      Successful calls return 0.  Unsuccessful calls return -1 and set errno to
      indicate the error.  errno is set to EINVAL if a process does an sdenter
      with the SDWRITE flag set and the segment is already attached with the
      SDRDONLY flag set.  errno is set to ENAVAIL if the SDNOWAIT flag is set
      for sdenter and the shared data segment is not free.

SEE ALSO
      sdget(2), sdgetv(2).




10/89                                                                    Page 1





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026