[Heimdal-source-changes] [heimdal/heimdal] 352a7e: Make the KDC use a multi-process model.

GitHub noreply at github.com
Fre Nov 6 22:40:18 CET 2015


  Branch: refs/heads/master
  Home:   https://github.com/heimdal/heimdal
  Commit: 352a7e94a34c768b7b0f356afdcfdf0f31eefc91
      https://github.com/heimdal/heimdal/commit/352a7e94a34c768b7b0f356afdcfdf0f31eefc91
  Author: Roland C. Dowdeswell <elric at imrryr.org>
  Date:   2015-11-06 (Fri, 06 Nov 2015)

  Changed paths:
    M kdc/connect.c
    M kdc/default_config.c
    M kdc/headers.h
    M kdc/kdc.h
    M kdc/kdc_locl.h
    M kdc/main.c

  Log Message:
  -----------
  Make the KDC use a multi-process model.

We now fork(2) a number of separate KDC processes rather than a single
process.  By default, the number is selected by asking how many CPUs
the machine has.  We also have a master process which monitors all
of the children (which do the actual work) and it will restart kids
who die for any reason.  The children will die when the parent dies.

In the case of MacOS X, we also move the bonjour code into another
separate child as it creates threads and this is known to play
rather poorly with fork(2).  We could move this logic into a
designated child at some point in the future.

We slow down the spawning to one every 25ms to prevent instant crashes
and restarts from consuming all available system time.  This approach
may want to be revisited in the future.




More information about the Heimdal-source-changes mailing list