[Git][NTPsec/ntpsec][master] Remove unused support for using signaled I/O.

Eric S. Raymond gitlab at mg.gitlab.com
Sat Aug 27 12:05:43 UTC 2016


Eric S. Raymond pushed to branch master at NTPsec / ntpsec


Commits:
e401fa7a by Eric S. Raymond at 2016-08-27T07:57:59-04:00
Remove unused support for using signaled I/O.

This was a fallback for operating systems that don't have
packet-receive timestamps as a built-in feature of the network layer.
But these systems have another fallback - using the system clock time
right after arrival in userland - and logic in the the NTP Classic
build recipe suggests signaled I/O didn't work on Linux or *BSD or a
large variety of other Unixes clear back to stock System V.

Accordingly, drop this odead code out to reduce complexity.

- - - - -


20 changed files:

- devel/ifdex-ignores
- − include/iosignal.h
- include/ntpd.h
- − libntp/iosignal.c
- libntp/ntp_worker.c
- libntp/recvbuff.c
- libntp/systime.c
- libntp/work_thread.c
- libntp/wscript
- ntpd/ntp_io.c
- ntpd/ntpd.c
- ports/winnt/vs2005/libntp.vcproj
- ports/winnt/vs2005/ntpd.vcproj
- ports/winnt/vs2008/libntp/libntp.vcproj
- ports/winnt/vs2008/ntpd/ntpd.vcproj
- ports/winnt/vs2013/libntp/libntp.vcxproj
- ports/winnt/vs2013/libntp/libntp.vcxproj.filters
- ports/winnt/vs2013/ntpd/ntpd.vcxproj
- ports/winnt/vs2013/ntpd/ntpd.vcxproj.filters
- wafhelpers/configure.py


Changes:

=====================================
devel/ifdex-ignores
=====================================
--- a/devel/ifdex-ignores
+++ b/devel/ifdex-ignores
@@ -152,8 +152,6 @@ USE_PACKET_TIMESTAMP    # setup and used in ntp_io
 USE_SCM_BINTIME		# to grab timestamp for recv packet
 USE_SCM_TIMESTAMP	# "
 USE_SCM_TIMESTAMPNS	# "
-# alternate way to get time stamps, never set
-ENABLE_SIGNALED_IO	# Use SIGIO for asynchronous I/O notification
 
 USE_WORKER		# Asynchronous DNS available, needs pthreads
 USE_WORK_PIPE		# Set in ntp_workimpl.h


=====================================
include/iosignal.h deleted
=====================================
--- a/include/iosignal.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef GUARD_IOSIGNAL_H
-#define GUARD_IOSIGNAL_H
-
-#include "ntp_refclock.h"
-
-/* 
- * type of input handler function
- * only shared between iosignal.c and ntp_io.c
- */
-typedef void (input_handler_t)(l_fp *);
-
-#if defined(ENABLE_SIGNALED_IO)
-#define	USING_SIGIO()	using_sigio
-
-extern bool		using_sigio;
-
-extern void		block_sigio	(void);
-extern void		unblock_sigio	(void);
-extern bool		init_clock_sig	(struct refclockio *);
-extern void		init_socket_sig	(int);
-extern void		set_signal	(input_handler_t *);
-extern void		wait_for_signal (void);
-
-# define BLOCKIO()	block_sigio()
-# define UNBLOCKIO()	unblock_sigio()
-
-#else	/* !ENABLE_SIGNALED_IO follows */
-# define BLOCKIO()	do {} while (0)
-# define UNBLOCKIO()	do {} while (0)
-# define USING_SIGIO()	false
-#endif
-
-#endif	/* GUARD_IOSIGNAL_H */


=====================================
include/ntpd.h
=====================================
--- a/include/ntpd.h
+++ b/include/ntpd.h
@@ -131,16 +131,8 @@ extern	void	sendpkt 	(sockaddr_u *, struct interface *, int, void *, int);
 #ifdef DEBUG
 extern	void	collect_timing  (struct recvbuf *, const char *, int, l_fp *);
 #endif
-#ifdef ENABLE_SIGNALED_IO
-extern	void	wait_for_signal		(void);
-extern	void	unblock_io_and_alarm	(void);
-extern	void	block_io_and_alarm	(void);
-# define	UNBLOCK_IO_AND_ALARM()	unblock_io_and_alarm()
-# define	BLOCK_IO_AND_ALARM()	block_io_and_alarm()
-#else
-# define	UNBLOCK_IO_AND_ALARM()	do {} while (0)
-# define	BLOCK_IO_AND_ALARM()	do {} while (0)
-#endif
+#define	UNBLOCK_IO_AND_ALARM()	do {} while (0)
+#define	BLOCK_IO_AND_ALARM()	do {} while (0)
 #define		latoa(pif)	localaddrtoa(pif)
 extern const char * localaddrtoa(endpt *);
 


=====================================
libntp/iosignal.c deleted
=====================================
--- a/libntp/iosignal.c
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * iosignal.c - input/output routines for ntpd.	The socket-opening code
- *		   was shamelessly stolen from ntpd.
- */
-
-/*
- * As we have ~40 CONFIG_ variables, I don't feel like renaming them
- * every time somebody adds a new macro to some system header.
- */
-
-#include <config.h>
-
-#include <stdio.h>
-#include <signal.h>
-#include <fcntl.h>
-
-#include "ntp_machine.h"
-#include "ntpd.h"
-#include "ntp_io.h"
-#include "ntp_stdlib.h"
-#include "iosignal.h"
-
-#if defined(ENABLE_SIGNALED_IO)
-static void sigio_handler	(int);
-
-/* consistency safegurad to catch BLOCK/UNBLOCK oversights */
-static volatile int sigio_block_count = 0;
-
-/* main inputhandler to be called on SIGIO */
-static input_handler_t *input_handler_callback = NULL;
-
-/*
- * If sigaction() is used for signal handling and a signal is
- * pending then the kernel blocks the signal before it calls
- * the signal handler.
- *
- * The variable below is used to take care that the SIGIO signal
- * is not unintentionally unblocked inside the sigio_handler()
- * if the handler executes a piece of code that is normally
- * bracketed by BLOCKIO()/UNBLOCKIO() calls.
- */
-static volatile int sigio_handler_active = 0;	/* semaphore, not bool */
-
-/*
- * SIGIO ROUTINES.
- */
-
-
-
-/*
- * TTY initialization routines.
- */
-bool
-init_clock_sig(
-	struct refclockio *rio
-	)
-{
-	/*
-	 * SuSv2 way to set up asynchronous tty  I/O - process is sent SIGIO when
-	 * I/O is possible on the fd.  Confusingly, according to the srabdard,
-	 * it would be SIGURG on a socket. But real implementations seem to
-	 * use the same signal number for these.
-	 */
-	if (fcntl(rio->fd, F_SETOWN, getpid()) == -1)
-	{
-		msyslog(LOG_ERR, "fcntl(F_SETOWN) fails for clock I/O: %m");
-		return true;
-	}
-
-	if (fcntl(rio->fd, F_SETFL, O_NONBLOCK|O_ASYNC) < 0)
-	{
-		msyslog(LOG_ERR,
-			"fcntl(O_NONBLOCK|O_ASYNC) fails for clock I/O: %m");
-		return true;
-	}
-	return false;
-}
-
-
-
-void
-init_socket_sig(
-	int fd
-	)
-{
-	int flags;
-
-	/*
-	 * SuSv2 way to set up asynchronous socket I/O - process is
-	 * sent SIGURG when I/O is possible on the fd.  Confusingly,
-	 * it would be SIGIO on a tty.  But in the real world it
-	 * appears that SIGIO == SIGURG.  Code later in this fimction
-	 * assumes this.
-	 */
-	if ((flags = fcntl(fd, F_GETFL, 0)) == -1)
-	{
-		msyslog(LOG_ERR, "fcntl(F_GETFL) fails: %m - EXITING");
-		exit(1);
-		/*NOTREACHED*/
-	}
-	if (fcntl(fd, F_SETFL, flags|O_ASYNC) < 0)
-	{
-		msyslog(LOG_ERR, "fcntl(...|O_ASYNC) fails: %m - EXITING");
-		exit(1);
-		/*NOTREACHED*/
-	}
-
-
-	if (fcntl(fd, F_SETOWN, getpid()) == -1)
-	{
-		msyslog(LOG_ERR, "fcntl(F_SETOWN) fails: %m - EXITING");
-		exit(1);
-		/*NOTREACHED*/
-	}
-}
-
-static void
-sigio_handler(
-	int sig
-	)
-{
-	int saved_errno = errno;
-	l_fp ts;
-
-	get_systime(&ts);
-
-	sigio_handler_active++;
-	if (sigio_handler_active != 1)  /* This should never happen! */
-	    msyslog(LOG_ERR, "sigio_handler: sigio_handler_active != 1");
-
-	INSIST(input_handler_callback != NULL);
-	(*input_handler_callback)(&ts);
-
-	sigio_handler_active--;
-	if (sigio_handler_active != 0)  /* This should never happen! */
-	    msyslog(LOG_ERR, "sigio_handler: sigio_handler_active != 0");
-
-	errno = saved_errno;
-}
-
-/*
- * Signal support routines.
- */
-void
-set_signal(input_handler_t *input)
-{
-	INSIST(input != NULL);
-	
-	input_handler_callback = input;
-
-	using_sigio = true;
-	(void) signal_no_reset(SIGIO, sigio_handler);
-}
-
-void
-block_io_and_alarm(void)
-{
-	sigset_t set;
-
-	if (sigemptyset(&set))
-	    msyslog(LOG_ERR, "block_io_and_alarm: sigemptyset() failed: %m");
-	if (sigaddset(&set, SIGIO))
-	    msyslog(LOG_ERR, "block_io_and_alarm: sigaddset(SIGIO) failed: %m");
-	if (sigaddset(&set, SIGALRM))
-	    msyslog(LOG_ERR, "block_io_and_alarm: sigaddset(SIGALRM) failed: %m");
-
-	if (sigprocmask(SIG_BLOCK, &set, NULL))
-	    msyslog(LOG_ERR, "block_io_and_alarm: sigprocmask() failed: %m");
-}
-
-void
-block_sigio(void)
-{
-	/* not called from within signal handler */
-	if ( sigio_handler_active == 0 )
-	{
-		sigset_t set;
-
-		++sigio_block_count;
-		if (sigio_block_count > 1)
-		    msyslog(LOG_INFO, "block_sigio: sigio_block_count > 1");
-		if (sigio_block_count < 1)
-		    msyslog(LOG_INFO, "block_sigio: sigio_block_count < 1");
-
-		if (sigemptyset(&set))
-		    msyslog(LOG_ERR, "block_sigio: sigemptyset() failed: %m");
-		if (sigaddset(&set, SIGIO))
-		    msyslog(LOG_ERR, "block_sigio: sigaddset(SIGIO) failed: %m");
-		if (sigprocmask(SIG_BLOCK, &set, NULL))
-		    msyslog(LOG_ERR, "block_sigio: sigprocmask() failed: %m");
-	}
-}
-
-void
-unblock_io_and_alarm(void)
-{
-	sigset_t unset;
-
-	if (sigemptyset(&unset))
-	    msyslog(LOG_ERR, "unblock_io_and_alarm: sigemptyset() failed: %m");
-
-	if (sigaddset(&unset, SIGIO))
-	    msyslog(LOG_ERR, "unblock_io_and_alarm: sigaddset(SIGIO) failed: %m");
-	if (sigaddset(&unset, SIGALRM))
-	    msyslog(LOG_ERR, "unblock_io_and_alarm: sigaddset(SIGALRM) failed: %m");
-
-	if (sigprocmask(SIG_UNBLOCK, &unset, NULL))
-	    msyslog(LOG_ERR, "unblock_io_and_alarm: sigprocmask() failed: %m");
-}
-
-void
-unblock_sigio(void)
-{
-	if ( sigio_handler_active == 0 )  /* not called from within signal handler */
-	{
-		sigset_t unset;
-
-		--sigio_block_count;
-		if (sigio_block_count > 0)
-		    msyslog(LOG_INFO, "unblock_sigio: sigio_block_count > 0");
-		if (sigio_block_count < 0)
-		    msyslog(LOG_INFO, "unblock_sigio: sigio_block_count < 0");
-
-		if (sigemptyset(&unset))
-		    msyslog(LOG_ERR, "unblock_sigio: sigemptyset() failed: %m");
-
-		if (sigaddset(&unset, SIGIO))
-		    msyslog(LOG_ERR, "unblock_sigio: sigaddset(SIGIO) failed: %m");
-		if (sigprocmask(SIG_UNBLOCK, &unset, NULL))
-		    msyslog(LOG_ERR, "unblock_sigio: sigprocmask() failed: %m");
-	}
-}
-
-void
-wait_for_signal(void)
-{
-	sigset_t old;
-
-	if (sigprocmask(SIG_UNBLOCK, NULL, &old))
-	    msyslog(LOG_ERR, "wait_for_signal: sigprocmask() failed: %m");
-
-	if (sigdelset(&old, SIGIO))
-	    msyslog(LOG_ERR, "wait_for_signal: sigdelset(SIGIO) failed: %m");
-
-	if (sigdelset(&old, SIGALRM))
-	    msyslog(LOG_ERR, "wait_for_signal: sigdelset(SIGALRM) failed: %m");
-
-	if (sigsuspend(&old) && (errno != EINTR))
-	    msyslog(LOG_ERR, "wait_for_signal: sigsuspend() failed: %m");
-}
-
-#else
-int  NotAnEmptyCompilationUnit;
-#endif 


=====================================
libntp/ntp_worker.c
=====================================
--- a/libntp/ntp_worker.c
+++ b/libntp/ntp_worker.c
@@ -10,7 +10,6 @@
 #include <ctype.h>
 #include <signal.h>
 
-#include "iosignal.h"
 #include "ntp_stdlib.h"
 #include "ntp_malloc.h"
 #include "ntp_syslog.h"


=====================================
libntp/recvbuff.c
=====================================
--- a/libntp/recvbuff.c
+++ b/libntp/recvbuff.c
@@ -7,7 +7,6 @@
 #include "ntp_stdlib.h"
 #include "ntp_lists.h"
 #include "recvbuff.h"
-#include "iosignal.h"
 
 
 /*
@@ -227,23 +226,6 @@ get_full_recv_buffer(void)
 	recvbuf_t *	rbuf;
 
 	LOCK();
-	
-#ifdef ENABLE_SIGNALED_IO
-	/*
-	 * make sure there are free buffers when we
-	 * wander off to do lengthy packet processing with
-	 * any buffer we grab from the full list.
-	 * 
-	 * fixes malloc() interrupted by SIGIO risk
-	 * (Bug 889)
-	 */
-	if (NULL == free_recv_list || buffer_shortfall > 0) {
-		/*
-		 * try to get us some more buffers
-		 */
-		create_buffers(RECV_INC);
-	}
-#endif
 
 	/*
 	 * try to grab a full buffer


=====================================
libntp/systime.c
=====================================
--- a/libntp/systime.c
+++ b/libntp/systime.c
@@ -10,7 +10,6 @@
 #include "ntp_syslog.h"
 #include "ntp_stdlib.h"
 #include "ntp_random.h"
-#include "iosignal.h"
 #include "timevalops.h"
 #include "timespecops.h"
 #include "ntp_calendar.h"
@@ -82,10 +81,6 @@ static bool systime_init_done;
 # define DONE_SYSTIME_INIT()	do {} while (false)
 #endif
 
-#ifdef ENABLE_SIGNALED_IO
-bool using_sigio;
-#endif
-
 #ifdef SYS_WINNT
 CRITICAL_SECTION get_systime_cs;
 #endif
@@ -191,29 +186,21 @@ normalize_time(
 	 * fuzzed result is strictly later than the prior.  Limit the
 	 * necessary fiction to 1 second.
 	 */
-	if (!USING_SIGIO()) {
-		ts_min = add_tspec_ns(ts_prev, sys_fuzz_nsec);
-		if (cmp_tspec(ts, ts_min) < 0) {
-			ts_lam = sub_tspec(ts_min, ts);
-			if (ts_lam.tv_sec > 0 && !lamport_violated) {
-				msyslog(LOG_ERR,
-					"get_systime Lamport advance exceeds one second (%.9f)",
-					ts_lam.tv_sec +
-					    1e-9 * ts_lam.tv_nsec);
-				exit(1);
-			}
-			if (!lamport_violated)
-				ts = ts_min;
+	ts_min = add_tspec_ns(ts_prev, sys_fuzz_nsec);
+	if (cmp_tspec(ts, ts_min) < 0) {
+		ts_lam = sub_tspec(ts_min, ts);
+		if (ts_lam.tv_sec > 0 && !lamport_violated) {
+			msyslog(LOG_ERR,
+				"get_systime Lamport advance exceeds one second (%.9f)",
+				ts_lam.tv_sec +
+				    1e-9 * ts_lam.tv_nsec);
+			exit(1);
 		}
-		ts_prev_log = ts_prev;
-		ts_prev = ts;
-	} else {
-		/*
-		 * Quiet "ts_prev_log.tv_sec may be used uninitialized"
-		 * warning from x86 gcc 4.5.2.
-		 */
-		ZERO(ts_prev_log);
+		if (!lamport_violated)
+			ts = ts_min;
 	}
+	ts_prev_log = ts_prev;
+	ts_prev = ts;
 
 	/* convert from timespec to l_fp fixed-point */
 	result = tspec_stamp_to_lfp(ts);
@@ -230,32 +217,30 @@ normalize_time(
 	 * sys_residual's effect for now) once sys_fuzz has been
 	 * determined.
 	 */
-	if (!USING_SIGIO()) {
-		if (!L_ISZERO(&lfp_prev) && !lamport_violated) {
-			if (!L_ISGTU(&result, &lfp_prev) &&
-			    sys_fuzz > 0.) {
-				msyslog(LOG_ERR, "ts_prev %s ts_min %s",
-					tspectoa(ts_prev_log),
-					tspectoa(ts_min));
-				msyslog(LOG_ERR, "ts %s", tspectoa(ts));
-				msyslog(LOG_ERR, "sys_fuzz %ld nsec, prior fuzz %.9f",
-					sys_fuzz_nsec, dfuzz_prev);
-				msyslog(LOG_ERR, "this fuzz %.9f",
-					dfuzz);
-				lfpdelta = lfp_prev;
-				L_SUB(&lfpdelta, &result);
-				LFPTOD(&lfpdelta, ddelta);
-				msyslog(LOG_ERR,
-					"prev get_systime 0x%x.%08x is %.9f later than 0x%x.%08x",
-					lfp_prev.l_ui, lfp_prev.l_uf,
-					ddelta, result.l_ui, result.l_uf);
-			}
+	if (!L_ISZERO(&lfp_prev) && !lamport_violated) {
+		if (!L_ISGTU(&result, &lfp_prev) &&
+		    sys_fuzz > 0.) {
+			msyslog(LOG_ERR, "ts_prev %s ts_min %s",
+				tspectoa(ts_prev_log),
+				tspectoa(ts_min));
+			msyslog(LOG_ERR, "ts %s", tspectoa(ts));
+			msyslog(LOG_ERR, "sys_fuzz %ld nsec, prior fuzz %.9f",
+				sys_fuzz_nsec, dfuzz_prev);
+			msyslog(LOG_ERR, "this fuzz %.9f",
+				dfuzz);
+			lfpdelta = lfp_prev;
+			L_SUB(&lfpdelta, &result);
+			LFPTOD(&lfpdelta, ddelta);
+			msyslog(LOG_ERR,
+				"prev get_systime 0x%x.%08x is %.9f later than 0x%x.%08x",
+				lfp_prev.l_ui, lfp_prev.l_uf,
+				ddelta, result.l_ui, result.l_uf);
 		}
-		lfp_prev = result;
-		dfuzz_prev = dfuzz;
-		if (lamport_violated) 
-			lamport_violated = false;
 	}
+	lfp_prev = result;
+	dfuzz_prev = dfuzz;
+	if (lamport_violated)
+		lamport_violated = false;
 	LEAVE_GET_SYSTIME_CRITSEC();
 	*now = result;
 }


=====================================
libntp/work_thread.c
=====================================
--- a/libntp/work_thread.c
+++ b/libntp/work_thread.c
@@ -505,14 +505,6 @@ block_thread_signals(
 	sigset_t	block;
 
 	sigemptyset(&block);
-# ifdef ENABLE_SIGNALED_IO
-#  ifdef SIGIO
-	sigaddset(&block, SIGIO);
-#  endif
-#  ifdef SIGPOLL
-	sigaddset(&block, SIGPOLL);
-#  endif
-# endif	/* ENABLE_SIGNALED_IO */
 	sigaddset(&block, SIGALRM);
 	sigaddset(&block, MOREDEBUGSIG);
 	sigaddset(&block, LESSDEBUGSIG);


=====================================
libntp/wscript
=====================================
--- a/libntp/wscript
+++ b/libntp/wscript
@@ -16,7 +16,6 @@ def build(ctx):
 		"getopt.c",
 		"hextolfp.c",
 		"humandate.c",
-		"iosignal.c",
 		"lib_strbuf.c",
 		"machines.c",
 		"modetoa.c",


=====================================
ntpd/ntp_io.c
=====================================
--- a/ntpd/ntp_io.c
+++ b/ntpd/ntp_io.c
@@ -22,7 +22,6 @@
 #include "ntp_machine.h"
 #include "ntpd.h"
 #include "ntp_io.h"
-#include "iosignal.h"
 #include "ntp_lists.h"
 #include "ntp_refclock.h"
 #include "ntp_stdlib.h"
@@ -325,6 +324,7 @@ static int		cmp_addr_distance(const sockaddr_u *,
 #if !defined(HAVE_IO_COMPLETION_PORT)
 static inline int	read_network_packet	(SOCKET, struct interface *, l_fp);
 static void		ntpd_addremove_io_fd	(int, int, int);
+typedef void (input_handler_t)(l_fp *);
 static input_handler_t  input_handler;
 #ifdef REFCLOCK
 static inline int	read_refclock_packet	(SOCKET, struct refclockio *, l_fp);
@@ -446,10 +446,6 @@ init_io(void)
 #ifdef SYS_WINNT
 	init_io_completion_port();
 #endif
-
-#if defined(ENABLE_SIGNALED_IO)
-	(void) set_signal(input_handler);
-#endif
 }
 
 
@@ -462,10 +458,6 @@ ntpd_addremove_io_fd(
 {
 	UNUSED_ARG(is_pipe);
 
-#ifdef ENABLE_SIGNALED_IO
-	init_socket_sig(fd);
-#endif /* not ENABLE_SIGNALED_IO */
-
 	maintain_activefds(fd, remove_it);
 }
 
@@ -486,9 +478,7 @@ io_open_sockets(void)
 	/*
 	 * Create the sockets
 	 */
-	BLOCKIO();
 	create_sockets(NTP_PORT);
-	UNBLOCKIO();
 
 	init_async_notifications();
 
@@ -1558,9 +1548,7 @@ interface_update(
 	if (disable_dynamic_updates)
 		return;
 
-	BLOCKIO();
 	new_interface_found = update_interfaces(NTP_PORT, receiver, data);
-	UNBLOCKIO();
 
 	if (!new_interface_found)
 		return;
@@ -3064,10 +3052,6 @@ open_socket(
 
 	make_socket_nonblocking(fd);
 
-#ifdef ENABLE_SIGNALED_IO
-	init_socket_sig(fd);
-#endif /* not ENABLE_SIGNALED_IO */
-
 	add_fd_to_list(fd, FD_TYPE_SOCKET);
 
 #ifdef F_GETFL
@@ -3564,12 +3548,11 @@ read_network_packet(
 }
 
 /*
- * attempt to handle io (select()/signaled IO)
+ * attempt to handle io
  */
 void
 io_handler(void)
 {
-#  ifndef ENABLE_SIGNALED_IO
 	fd_set rdfdes;
 	int nfound;
 
@@ -3605,9 +3588,6 @@ io_handler(void)
 		DPRINTF(1, ("select() returned %d: %m\n", nfound));
 	}
 #   endif /* DEBUG */
-#  else /* ENABLE_SIGNALED_IO */
-	wait_for_signal();
-#  endif /* ENABLE_SIGNALED_IO */
 }
 
 /*
@@ -4300,22 +4280,14 @@ io_addclock(
 	struct refclockio *rio
 	)
 {
-	BLOCKIO();
-
 	/*
 	 * Stuff the I/O structure in the list and mark the descriptor
 	 * in use.  There is a harmless (I hope) race condition here.
 	 */
 	rio->active = true;
 
-# ifdef ENABLE_SIGNALED_IO
-	if (init_clock_sig(rio)) {
-		UNBLOCKIO();
-		return false;
-	}
-# elif defined(HAVE_IO_COMPLETION_PORT)
+# if defined(HAVE_IO_COMPLETION_PORT)
 	if (io_completion_port_add_clock_io(rio)) {
-		UNBLOCKIO();
 		return false;
 	}
 # endif
@@ -4330,7 +4302,6 @@ io_addclock(
 	 */
 	add_fd_to_list(rio->fd, FD_TYPE_FILE);
 
-	UNBLOCKIO();
 	return true;
 }
 
@@ -4345,8 +4316,6 @@ io_closeclock(
 {
 	struct refclockio *unlinked;
 
-	BLOCKIO();
-
 	/*
 	 * Remove structure from the list
 	 */
@@ -4360,8 +4329,6 @@ io_closeclock(
 		close_and_delete_fd_from_list(rio->fd);
 	}
 	rio->fd = -1;
-
-	UNBLOCKIO();
 }
 #endif	/* REFCLOCK */
 
@@ -4383,8 +4350,6 @@ kill_asyncio(
 {
 	UNUSED_ARG(startfd);
 
-	BLOCKIO();
-
 	/*
 	 * In the child process we do not maintain activefds and
 	 * maxactivefd.  Zeroing maxactivefd disables code which
@@ -4394,8 +4359,6 @@ kill_asyncio(
 
 	while (fd_list != NULL)
 		close_and_delete_fd_from_list(fd_list->fd);
-
-	UNBLOCKIO();
 }
 #endif	/* !SYS_WINNT */
 
@@ -4754,9 +4717,6 @@ init_async_notifications()
 	}
 #endif
 	make_socket_nonblocking(fd);
-#if defined(ENABLE_SIGNALED_IO)
-	init_socket_sig(fd);
-#endif /* ENABLE_SIGNALED_IO */
 
 	reader = new_asyncio_reader();
 


=====================================
ntpd/ntpd.c
=====================================
--- a/ntpd/ntpd.c
+++ b/ntpd/ntpd.c
@@ -16,7 +16,6 @@
 #include "ntp_intercept.h"
 #include "isc/error.h"
 #include "isc/formatcheck.h"
-#include "iosignal.h"
 
 #include <unistd.h>
 #include <sys/stat.h>


=====================================
ports/winnt/vs2005/libntp.vcproj
=====================================
--- a/ports/winnt/vs2005/libntp.vcproj
+++ b/ports/winnt/vs2005/libntp.vcproj
@@ -289,10 +289,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\libntp\iosignal.c"
-				>
-			</File>
-			<File
 				RelativePath="..\..\..\lib\isc\lib.c"
 				>
 			</File>
@@ -562,10 +558,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\include\iosignal.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\..\include\lib_strbuf.h"
 				>
 			</File>


=====================================
ports/winnt/vs2005/ntpd.vcproj
=====================================
--- a/ports/winnt/vs2005/ntpd.vcproj
+++ b/ports/winnt/vs2005/ntpd.vcproj
@@ -742,10 +742,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\include\iosignal.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\..\ntpd\jupiter.h"
 				>
 			</File>


=====================================
ports/winnt/vs2008/libntp/libntp.vcproj
=====================================
--- a/ports/winnt/vs2008/libntp/libntp.vcproj
+++ b/ports/winnt/vs2008/libntp/libntp.vcproj
@@ -392,10 +392,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\..\libntp\iosignal.c"
-				>
-			</File>
-			<File
 				RelativePath="..\..\..\..\lib\isc\lib.c"
 				>
 			</File>
@@ -677,10 +673,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\..\include\iosignal.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\..\..\include\lib_strbuf.h"
 				>
 			</File>


=====================================
ports/winnt/vs2008/ntpd/ntpd.vcproj
=====================================
--- a/ports/winnt/vs2008/ntpd/ntpd.vcproj
+++ b/ports/winnt/vs2008/ntpd/ntpd.vcproj
@@ -457,10 +457,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\..\include\iosignal.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\..\..\ntpd\jupiter.h"
 				>
 			</File>


=====================================
ports/winnt/vs2013/libntp/libntp.vcxproj
=====================================
--- a/ports/winnt/vs2013/libntp/libntp.vcxproj
+++ b/ports/winnt/vs2013/libntp/libntp.vcxproj
@@ -230,7 +230,6 @@
     <ClCompile Include="..\..\..\..\libntp\hextolfp.c" />
     <ClCompile Include="..\..\..\..\libntp\humandate.c" />
     <ClCompile Include="..\..\..\..\libntp\icom.c" />
-    <ClCompile Include="..\..\..\..\libntp\iosignal.c" />
     <ClCompile Include="..\..\..\..\libntp\lib_strbuf.c" />
     <ClCompile Include="..\..\..\..\libntp\machines.c" />
     <ClCompile Include="..\..\..\..\libntp\mktime.c" />
@@ -305,7 +304,6 @@
     <ClInclude Include="..\..\..\..\include\declcond.h" />
     <ClInclude Include="..\..\..\..\include\ieee754io.h" />
     <ClInclude Include="..\..\..\..\include\intreswork.h" />
-    <ClInclude Include="..\..\..\..\include\iosignal.h" />
     <ClInclude Include="..\..\..\..\include\isc\mem.h" />
     <ClInclude Include="..\..\..\..\include\lib_strbuf.h" />
     <ClInclude Include="..\..\..\..\include\ntp.h" />


=====================================
ports/winnt/vs2013/libntp/libntp.vcxproj.filters
=====================================
--- a/ports/winnt/vs2013/libntp/libntp.vcxproj.filters
+++ b/ports/winnt/vs2013/libntp/libntp.vcxproj.filters
@@ -104,9 +104,6 @@
     <ClCompile Include="..\..\..\..\lib\isc\win32\interfaceiter.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\..\libntp\iosignal.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\..\..\lib\isc\lib.c">
       <Filter>Source Files</Filter>
     </ClCompile>
@@ -316,9 +313,6 @@
     <ClInclude Include="..\..\include\sys\ioctl.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\..\include\iosignal.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\..\include\lib_strbuf.h">
       <Filter>Header Files</Filter>
     </ClInclude>


=====================================
ports/winnt/vs2013/ntpd/ntpd.vcxproj
=====================================
--- a/ports/winnt/vs2013/ntpd/ntpd.vcxproj
+++ b/ports/winnt/vs2013/ntpd/ntpd.vcxproj
@@ -324,7 +324,6 @@
     <ClInclude Include="..\..\..\..\include\ascii.h" />
     <ClInclude Include="..\..\..\..\include\binio.h" />
     <ClInclude Include="..\..\..\..\include\ieee754io.h" />
-    <ClInclude Include="..\..\..\..\include\iosignal.h" />
     <ClInclude Include="..\..\..\..\include\mbg_gps166.h" />
     <ClInclude Include="..\..\..\..\include\ntp.h" />
     <ClInclude Include="..\..\..\..\include\ntpd.h" />


=====================================
ports/winnt/vs2013/ntpd/ntpd.vcxproj.filters
=====================================
--- a/ports/winnt/vs2013/ntpd/ntpd.vcxproj.filters
+++ b/ports/winnt/vs2013/ntpd/ntpd.vcxproj.filters
@@ -290,9 +290,6 @@
     <ClInclude Include="..\..\..\..\lib\isc\include\isc\interfaceiter.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\..\include\iosignal.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\..\ntpd\jupiter.h">
       <Filter>Header Files</Filter>
     </ClInclude>


=====================================
wafhelpers/configure.py
=====================================
--- a/wafhelpers/configure.py
+++ b/wafhelpers/configure.py
@@ -444,13 +444,6 @@ def cmd_configure(ctx, config):
 	# have it on everywhere.
 	ctx.define("NEED_REUSEADDR_FOR_IFADDRBIND", 1, comment="Whether SO_REUSEADDR is needed to open same sockets on alternate interfaces, required by Linux at least")
 
-	# It should be possible to use asynchronous I/O with notification
-	# by SIGIO on any Unix conformant to POSIX.1-2001. But the code to
-	# do this is untested and there are historical reasons to suspect
-	# it might not work reliably on all platforms.  Enable cautiously
-	# and test carefully.
-	# ctx.define("ENABLE_SIGNALED_IO", 1)
-
         # These are required by the SHA2 code and various refclocks
         if sys.byteorder == "little":
                 pass



View it on GitLab: https://gitlab.com/NTPsec/ntpsec/commit/e401fa7a9e0bc913879c586dfedf811fa7bc96ce
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ntpsec.org/pipermail/vc/attachments/20160827/5f7bb63f/attachment.html>


More information about the vc mailing list