$OpenBSD: patch-src_server_nsca-ng_c,v 1.3 2013/11/07 10:34:12 sthen Exp $

From 28d4dc879545e4a797c4dd14441e6f12992372ce Mon Sep 17 00:00:00 2001
From: Holger Weiß <holger@weiss.in-berlin.de>
Date: Thu, 07 Nov 2013 09:21:05 +0100
Subject: Ignore errors when closing file descriptors

Don't check the return value of closefrom(3) or fcntl(3) when closing
open file descriptors on startup.  If there are no file descriptors to
close, closefrom(3) will fail with EBADF on NetBSD and OpenBSD.  On
FreeBSD and Solaris, closefrom(3) is actually declared to return void.

--- src/server/nsca-ng.c.orig	Thu Nov  7 10:30:02 2013
+++ src/server/nsca-ng.c	Thu Nov  7 10:30:21 2013
@@ -300,11 +300,9 @@ close_descriptors(void)
 	int min_fd = STDERR_FILENO + 1;
 
 #if HAVE_CLOSEFROM /* BSD and Solaris. */
-	if (closefrom(min_fd) == -1)
-		die("Cannot close file descriptors >= %d: %m", min_fd);
+	(void)closefrom(min_fd);
 #elif defined(F_CLOSEM) /* AIX and IRIX. */
-	if (fcntl(min_fd, F_CLOSEM, 0) == -1)
-		die("Cannot close file descriptors >= %d: %m", min_fd);
+	(void)fcntl(min_fd, F_CLOSEM, 0);
 #else
 	int max_fd = MIN(sysconf(_SC_OPEN_MAX), /* Arbitrary limit: */ 1048576);
 	int fd;
