PMDF System Manager's Guide


Previous Contents Index

8.1 Compiling the Configuration

PMDF contains a utility, CNBUILD (OpenVMS) or cnbuild (UNIX and NT), to compile the configuration, option, mapping, conversion, alias, security, and system wide filter configuration files into a single shareable image (on OpenVMS) or a single image in shared memory (on UNIX) or a dynamic link library (NT). The main reason for compiling configuration information is simple: performance.1 Another feature of using a compiled configuration is that you can test configuration changes more conveniently, since the configuration files themselves are not "live" when a compiled configuration is in use.

Whenever a component of PMDF (e.g., a channel program) must read the configuration file it first checks to see if a compiled configuration exists. If it does, the image is merged into the running program (on OpenVMS) or attached to by the running program (on UNIX or NT).2 If the image merge (on OpenVMS) or attach (on UNIX on NT) operation fails for any reason, PMDF falls back on the old method of reading the text files instead.

Note

The only penalty paid for compilation is the need to rebuild and, on OpenVMS systems, reinstall the image every time the configuration, option, mapping, conversion, alias, or security configuration files are edited.

On OpenVMS systems, the image file is referenced with the PMDF_CONFIG_DATA logical. This logical translates to PMDF_EXE:config_data.exe; PMDF_EXE itself is a logical which translates to either PMDF_ROOT:[vax_exe] or PMDF_ROOT:[alpha_exe] depending upon the architecture, VAX or Alpha. The image file can be installed with the standard OpenVMS INSTALL utility. This compilation is done without the use of the OpenVMS linker --- PMDF is capable of creating shareable images on its own that are acceptable to the OpenVMS image activator.

On UNIX systems, the name of the image file is specified with the PMDF_CONFIG_DATA option in the PMDF tailor file. By default, this is the file /pmdf/lib/config_data.

On NT systems, the name of the image file is specified with the PMDF_CONFIG_DATA PMDF Tailor Registry entry. Usually this is the file C:\pmdf\lib\config_data.

Note

As always when there is a change to the PMDF configuration, resident PMDF processes (such as the multithreaded SMTP server) should be restarted with the PMDF RESTART (OpenVMS) or pmdf restart (UNIX or NT) command. In addition, if you are using PMDF-MR in MR TS replacement mode, stop and restart the ALL-IN-1 Sender, ALL-IN-1 Fetcher, and MailWorks server.

Note

1 A test on a µVAX II system showed that reading a fairly complex configuration and alias file took about 6 seconds of CPU time. By contrast, initialization of PMDF took about 1 second of CPU time when the data was precompiled as a shareable image.

2 There are two exceptions to this rule. The first is the PMDF CNBUILD (OpenVMS) or pmdf cnbuild (UNIX or NT) utility itself, which for obvious reasons always reads the text files and never tries to load the image form of the configuration data. The other exception is the PMDF TEST (OpenVMS) or pmdf test (UNIX or NT) utility, which may be instructed to ignore any compiled image with the /NOIMAGE_FILE (OpenVMS) or -noimage_file (UNIX or NT) qualifier, which is useful for testing changes prior to compiling them.


Previous Next Contents Index