EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: asyn driver on Windows XP
From: Eric Norum <[email protected]>
To: Dirk Zimoch <[email protected]>
Cc: EPICS Techtalk <[email protected]>
Date: Mon, 15 Nov 2010 09:11:40 -0800
The conditionals in drvAsynIPPort.c were supposed to handle this case:

#if defined(__rtems__)
# define USE_SOCKTIMEOUT
#else
# define USE_POLL
# if defined(vxWorks)
#  define FAKE_POLL
# elif defined(_WIN32)
#  if defined(POLLIN)
#   define poll(fd,nfd,t) WSAPoll(fd,nfd,t)
#  else
#   define FAKE_POLL
#  endif
# else
#  include <sys/poll.h>
# endif
#endif

The intent was to use WSAPoll() only on versions of windows which provided it (and defined POLLIN).   Could it be that XP defines POLLIN but doesn't provide WSAPoll()?
What happens if you compile this with -UPOLLIN added to the CFLAGS?  If that doesn't help, try adding a '#undef POLLIN' just before the block of conditionals.    If t either of those fix the problem we'll have to figure out some other set of conditionals for Windows.


On Nov 15, 2010, at 8:57 AM, Dirk Zimoch wrote:

> Hi all,
> 
> I have a problem with the latest version of asyn driver on Windows XP. It tries to use a function WSAPoll() that does not exist in XP, only in Vista and newer. However I do not want use an old version of asyn driver without that function because of all the new features and bugfixes.
> 
> The code in question is:
> 
> #if defined(__rtems__)
> # define USE_SOCKTIMEOUT
> #else
> # define USE_POLL
> # if defined(vxWorks)
> #  define FAKE_POLL
> # elif defined(_WIN32)
> #  if defined(POLLIN)
> #   define poll(fd,nfd,t) WSAPoll(fd,nfd,t)
> #  else
> #   define FAKE_POLL
> #  endif
> # else
> #  include <sys/poll.h>
> # endif
> #endif
> 
> It seems I have POLLIN defined but no WSAPoll.
> 
> I am using the compiler from Visual Studio 10.
> 
> Any idea?
> 
> Dirk

-- 
Eric Norum
[email protected]






Replies:
Re: asyn driver on Windows XP Dirk Zimoch
References:
asyn driver on Windows XP Dirk Zimoch

Navigate by Date:
Prev: RE: asyn driver on Windows XP Mark Rivers
Next: Re: Last chance to save the sequencer's pv layer Ben Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: asyn driver on Windows XP Mark Rivers
Next: Re: asyn driver on Windows XP Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Nov 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·