1275970Scy/* 2275970Scy * ntp_workimpl.h - selects worker child implementation 3275970Scy */ 4275970Scy#ifndef NTP_WORKIMPL_H 5275970Scy#define NTP_WORKIMPL_H 6275970Scy 7275970Scy/* 8275970Scy * Some systems do not support fork() and don't have an alternate 9275970Scy * threads implementation of ntp_intres. Such systems are limited 10275970Scy * to using numeric IP addresses. 11275970Scy */ 12275970Scy#if defined(SYS_WINNT) 13275970Scy# define WORK_THREAD 14275970Scy#elif defined(ISC_PLATFORM_USETHREADS) && \ 15275970Scy defined(HAVE_SEM_TIMEDWAIT) && \ 16275970Scy (defined(HAVE_GETCLOCK) || defined(HAVE_CLOCK_GETTIME)) 17275970Scy# define WORK_THREAD 18275970Scy# define WORK_PIPE 19275970Scy#elif defined(VMS) || defined(SYS_VXWORKS) 20275970Scy /* empty */ 21275970Scy#elif defined(HAVE_WORKING_FORK) 22275970Scy# define WORK_FORK 23275970Scy# define WORK_PIPE 24275970Scy#endif 25275970Scy 26275970Scy#if defined(WORK_FORK) || defined(WORK_THREAD) 27275970Scy# define WORKER 28275970Scy#endif 29275970Scy 30275970Scy#endif /* !NTP_WORKIMPL_H */ 31