bundy-dns/bundy — pull request #45 by jinmei (2014-06-13 04:41:46+00:00)
Title: shmem/mmap support: handle full datasrc reconfig

This set of changes update bundy-memmgr and bundy-auth so they can handle full reconfiguration of data sources (the data_sources configuration item).

- on receiving a new generation of data source configuration, memmgr sends a release message to segment readers
- memmgr also constructs memory segments for the new generation
- auth keeps the old generation of configuration and corresponding release command until all segments of the new generation is are ready for use
- when the new generation is ready, auth switches to the new segments, releases all references to segments of the old generation and sends acknowledgment to the release command
- memmgr removes mapped files once it receives a release command from all old readers

The first half of the changes are for memmgr (up to commit 9864dfa), and the rest is for auth. These are independent and can be reviewed separately, but the entire set of changes will be needed for the system to work correctly.