On Thu, 25 Feb 2010, 22:14 +1100, John Marshall wrote:
> Another thing I did was to patch the sendmail build config on another
> one of the servers, and rebuild, so that sendmail's sleep() would simply
> call FreeBSD's nanosleep(2).  I have asked on comp.mail.sendmail if
> anyone knows why the sendmail build only enbles use of nanosleep on
> Solaris.

After checking with jhb@ re appropriate value of __FreeBSD_version for
the test, I have submitted a build configuration patch to the sendmail
folks so that a sendmail build on FreeBSD >= 300000 will use
nanosleep().  The patch has been accepted by sendmail and is attached
for reference.

> SERVER 1
>  - FreeBSD 8.0-RELEASE-p2
>  - Sendmail 8.14.4 (modified so that sleep() uses nanosleep(2))
> 
> SERVER 2
>  - FreeBSD 8.0-RELEASE-p2
>  - Sendmail 8.14.4
> 
> SERVER 3
>  - FreeBSD 8-STABLE
>  - Sendmail 8.14.4
> 
> ...and then watch sendmail on all three.

One week has elapsed and no queue runners have succumbed to excessive
drowsiness.

-- 
John Marshall
--- include/sm/conf.h.orig	2009-06-17 09:41:32.000000000 +1000
+++ include/sm/conf.h	2010-02-27 09:31:33.000000000 +1100
@@ -1014,6 +1014,9 @@
 #    if __FreeBSD_version >= 222000	/* 2.2.2-release and later */
 #     define HASSETUSERCONTEXT	1	/* BSDI-style login classes */
 #    endif /* __FreeBSD_version >= 222000 */
+#    if __FreeBSD_version >= 300000	/* 3.0.0-release and later */
+#     define HAVE_NANOSLEEP	1	/* has nanosleep(2) */
+#    endif /* __FreeBSD_version >= 300000 */
 #    if __FreeBSD_version >= 330000	/* 3.3.0-release and later */
 #     ifndef SMRSH_CMDDIR
 #      define SMRSH_CMDDIR	"/usr/libexec/sm.bin"

Attachment: pgpnFwvBhoqpC.pgp
Description: PGP signature

Reply via email to