Eachqueue processor knows the contents of eachqueue??”
specifically, the number of messages that are in its queue at any given time. A convenient
place to store that information is in shared memory.
When you run V8.12 and above sendmail withth e -bP command-line switch(?§11.6.2 on
page 425), sendmail reads shared memory to gather a count of the number of messages in
each queue.
Shared memory is turned on by default for some operating systems and off for others. If
you run sendmail withth e -bP command-line switch and get the following error, you might
need to define this SM_CONF_SHM compile-time macro:
Data unavailable without shared memory support
If you need to enable shared memory, you can do so by placing a line such as the following
in your Build m4 file:
APPENDDEF(`conf_sendmail_ENVDEF??, `-DSM_CONF_SHM=1??)
?†‘
to turn on shared memory support
Note that just turning on SM_CONF_SHM is not enough. To actually use that shared
memory you also need to set a value for the SharedMemoryKey option. To set this option in
your configuration file, you could add a line suchas the following to your mc configuration
file:
define(`confSHARED_MEMORY_KEY??,`13521??)
Note that if you run multiple queue-processing daemons, each should be executed with a
unique shared-memory key. One way to do that might look like the following two entries
in an rc boot file:
/usr/bin/sendmail -q1h -OQueueDir=/var/spool/slowq -OSharedMemoryKey=11111
/usr/bin/sendmail -q5m -OQueueDir=/var/spool/fastq -OSharedMemoryKey=22222
To see whether this compile-time macro is defined with your sendmail binary, use the -d0.
Pages:
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282