diff --git a/configure/CONFIG b/configure/CONFIG index eb95a2037..4371d4e1a 100644 --- a/configure/CONFIG +++ b/configure/CONFIG @@ -14,17 +14,17 @@ # ifneq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),) -EPICS_BASE = $(INSTALL_LOCATION) -CONFIG = $(TOP)/configure -BASE_TOP=YES + EPICS_BASE = $(INSTALL_LOCATION) + CONFIG = $(TOP)/configure + BASE_TOP=YES else -CONFIG ?= $(EPICS_BASE)/configure + CONFIG ?= $(EPICS_BASE)/configure endif # Provide a default if the user hasn't set EPICS_HOST_ARCH ifeq ($(origin EPICS_HOST_ARCH), undefined) -# NB: Must use a simply expanded variable here for performance: -EPICS_HOST_ARCH := $(shell $(CONFIG)/../startup/EpicsHostArch.pl) + # NB: We use a simply expanded variable here for performance: + EPICS_HOST_ARCH := $(shell $(CONFIG)/../startup/EpicsHostArch.pl) endif # @@ -32,8 +32,8 @@ endif -include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH) -include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).Common ifdef T_A --include $(CONFIG)/RELEASE.Common.$(T_A) --include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A) + -include $(CONFIG)/RELEASE.Common.$(T_A) + -include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A) endif include $(CONFIG)/CONFIG_COMMON @@ -58,60 +58,62 @@ include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops) + ifdef T_A -# Cross compile specific definitions -# -ifneq ($(EPICS_HOST_ARCH),$(T_A)) -include $(CONFIG)/CONFIG.CrossCommon -endif + # Cross compile specific definitions + # + ifneq ($(EPICS_HOST_ARCH),$(T_A)) + include $(CONFIG)/CONFIG.CrossCommon + endif -# Target architecture specific definitions -# --include $(CONFIG)/os/CONFIG.Common.$(T_A) + # Target architecture specific definitions + # + -include $(CONFIG)/os/CONFIG.Common.$(T_A) -# Host-Target architecture specific definitions -# --include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A) + # Host-Target architecture specific definitions + # + -include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A) -# RELEASE file specific definitions -# -ifneq ($(CONFIG),$(TOP)/configure) --include $(CONFIG)/CONFIG_APP_INCLUDE -endif + # RELEASE file specific definitions + # + ifneq ($(CONFIG),$(TOP)/configure) + -include $(CONFIG)/CONFIG_APP_INCLUDE + endif + + # Site specific target and host-target definitions + # + -include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A) + -include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) + +endif # ifdef T_A -# Site specific target and host-target definitions -# --include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A) --include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) # Include /cfg/CONFIG* definitions from tops defined in RELEASE* files # ifneq ($(CONFIG),$(TOP)/configure) -RELEASE_TOPS_REVERSE := $(shell \ - $(PERL) -e '$$,=" ";print reverse @ARGV' $(RELEASE_TOPS)) -RELEASE_CFG_CONFIGS = $(foreach top, $(RELEASE_TOPS_REVERSE), \ - $(wildcard $($(top))/cfg/CONFIG*)) -ifneq ($(RELEASE_CFG_CONFIGS),) -include $(RELEASE_CFG_CONFIGS) -endif + RELEASE_TOPS_REVERSE := $(shell \ + $(PERL) -e '$$,=" ";print reverse @ARGV' $(RELEASE_TOPS)) + RELEASE_CFG_CONFIGS = $(foreach top, $(RELEASE_TOPS_REVERSE), \ + $(wildcard $($(top))/cfg/CONFIG*)) + ifneq ($(RELEASE_CFG_CONFIGS),) + include $(RELEASE_CFG_CONFIGS) + endif endif # Include $(INSTALL_CFG)/CONFIG* definitions # TOP_CFG_CONFIGS = $(wildcard $(INSTALL_CFG)/CONFIG*) ifneq ($(TOP_CFG_CONFIGS),) -include $(TOP_CFG_CONFIGS) + include $(TOP_CFG_CONFIGS) endif -endif # ifdef T_A - # User specific definitions # -include $(HOME)/configure/CONFIG_USER -include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH) ifdef T_A --include $(HOME)/configure/CONFIG_USER.Common.$(T_A) --include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH).$(T_A) + -include $(HOME)/configure/CONFIG_USER.Common.$(T_A) + -include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH).$(T_A) endif diff --git a/src/libCom/osi/os/posix/osdThread.c b/src/libCom/osi/os/posix/osdThread.c index 632b545f9..57d663faa 100644 --- a/src/libCom/osi/os/posix/osdThread.c +++ b/src/libCom/osi/os/posix/osdThread.c @@ -392,20 +392,17 @@ static void once(void) osdThreadHooksRunMain(pthreadInfo); epicsThreadOnceCalled = 1; } - + static void * start_routine(void *arg) { epicsThreadOSD *pthreadInfo = (epicsThreadOSD *)arg; int status; - int oldtype; sigset_t blockAllSig; sigfillset(&blockAllSig); pthread_sigmask(SIG_SETMASK,&blockAllSig,NULL); status = pthread_setspecific(getpthreadInfo,arg); checkStatusQuit(status,"pthread_setspecific","start_routine"); - status = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS,&oldtype); - checkStatusQuit(status,"pthread_setcanceltype","start_routine"); status = mutexLock(&listLock); checkStatusQuit(status,"pthread_mutex_lock","start_routine"); ellAdd(&pthreadList,&pthreadInfo->node);