From e7179fc289a1cb5bc593c1bf465af1f6e553c60b Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 4 Nov 2010 13:30:44 -0500 Subject: [PATCH] libCom: Fix cygwin socket shutdown issue. Cygwin 1.7 changed the socket shutdown method from BothShutdown to Close. This fix looks at the cygwin version to work out what value to return from esscimqi(). --- .../osi/os/cygwin32/systemCallIntMech.cpp | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/libCom/osi/os/cygwin32/systemCallIntMech.cpp diff --git a/src/libCom/osi/os/cygwin32/systemCallIntMech.cpp b/src/libCom/osi/os/cygwin32/systemCallIntMech.cpp new file mode 100644 index 000000000..e5cf916e4 --- /dev/null +++ b/src/libCom/osi/os/cygwin32/systemCallIntMech.cpp @@ -0,0 +1,28 @@ + +/*************************************************************************\ +* Copyright (c) 2002 The University of Chicago, as Operator of Argonne +* National Laboratory. +* Copyright (c) 2002 The Regents of the University of California, as +* Operator of Los Alamos National Laboratory. +* EPICS BASE Versions 3.13.7 +* and higher are distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ +/* $Revision-Id$ */ +/* + * Author: Jeff Hill + */ + +#define epicsExportSharedSymbols +#include "osiSock.h" + +enum epicsSocketSystemCallInterruptMechanismQueryInfo + epicsSocketSystemCallInterruptMechanismQuery () +{ +#if (CYGWIN_VERSION_DLL_MAJOR >= 1007) + // Behaviour changed in Cygwin 1.7 release. + return esscimqi_socketCloseRequired; +#else + return esscimqi_socketBothShutdownRequired; +#endif +}