Function: set-network-process-option

set-network-process-option is a function defined in process.c.

Signature

(set-network-process-option PROCESS OPTION VALUE &optional NO-ERROR)

Documentation

For network process PROCESS set option OPTION to value VALUE.

See make-network-process for a list of options and values. If optional fourth arg NO-ERROR is non-nil, don't signal an error if OPTION is not a supported option, return nil instead; otherwise return t.

If PROCESS is a non-blocking network process that hasn't been fully set up yet, this function will block until socket setup has completed.

View in manual

Source Code

// Defined in /usr/src/emacs/src/process.c
{
  int s;
  struct Lisp_Process *p;

  CHECK_PROCESS (process);
  p = XPROCESS (process);
  if (!NETCONN1_P (p))
    error ("Process is not a network process");

  wait_for_socket_fds (process, "set-network-process-option");

  s = p->infd;
  if (s < 0)
    error ("Process is not running");

  if (set_socket_option (s, option, value))
    {
      pset_childp (p, plist_put (p->childp, option, value));
      return Qt;
    }

  if (NILP (no_error))
    error ("Unknown or unsupported option");

  return Qnil;
}