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: "Mark Rivers" <[email protected]>
To: "Dirk Zimoch" <[email protected]>, "Eric Norum" <[email protected]>
Cc: EPICS Techtalk <[email protected]>
Date: Tue, 16 Nov 2010 06:43:24 -0600
Dirk,
 
I'll add that to the asyn known problems.  Does VS 10 have the same problem with the header file as VS Express 2008 that Anthony Owen discovered?
 
Mark
 

________________________________

From: Dirk Zimoch [mailto:[email protected]]
Sent: Tue 11/16/2010 4:00 AM
To: Eric Norum
Cc: EPICS Techtalk; Mark Rivers
Subject: Re: asyn driver on Windows XP



Compiling asyn with make USR_CFLAGS=/D_WIN32_WINNT=0x0500 solves the
problem. I have no idea why _WIN32_WINNT is set to something >= 0x0600
(=Vista).

Dirk

Eric Norum wrote:
> 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
>





References:
asyn driver on Windows XP Dirk Zimoch
Re: asyn driver on Windows XP Eric Norum
Re: asyn driver on Windows XP Dirk Zimoch

Navigate by Date:
Prev: RE: EPICS base on Windows with INSTALL_LOCATION on a different drive Mark Rivers
Next: RE: the hex instruction convert Mark Rivers
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 Dirk Zimoch
Next: Stand-alone sequencer programs 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 
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 ·