Dirk,
Quite honestly, when preparing R3.14 I did take the time to get the portable
CA server library to build on all supported platforms but I didn't test it
except on Windows and Linux.
> seems not to work as under Linux. (It does not reply on caget.)
That's odd because its known to work on both big-endian and little-endian
systems. This must be a vxWorks socket library specific issue. Typically if
there are OS specific issues with the socket library they are related to
binding or connecting a UDP socket to a specific port or address
(interface). The portable server is more capable compared to the IOC's
server when binding to specific network interfaces, and so its perhaps more
vulnerable to socket library quirks. But, since you are seeing issues with
CA get (occurring at the TCP level) I am not coming up with any guesses.
As I recall, with the portable server, one can turn on message logging by
calling the server's setDebugLevel() method. That might help with tracking
down the problem.
Do you see any exception messages from the client library or any messages on
the server's console? If not, then perhaps the server is wedged. To further
isolate that type tt for the server's thread and see where it might be
parked.
Another possibly is an issue with the file descriptor manager. There might
be some subtle difference with select on vxWorks? Come to think of it I
don't know that I have ever seen what happens when you place a socket in
non-blocking mode on vxWorks (if that works or not).
> The first thing I noticed was that several C++ template instances were
missing
Modern compilers typically automatically instantiate. I suspect that this is
a non-issue with more recent GNU compiler (your version of vxWorks might
even be based on a GNU compiler that is more than 8 years old).
Nevertheless, we will gratefully incorporate your patches into the next
R3.14 release.
Thanks for your assistance,
Jeff
PS: I was recently called by a person working for a small fire department in
Rhode Island. He was very interested in this fdManager.cpp software and was
wondering if he could get a copy!
> -----Original Message-----
> From: Dirk Zimoch [mailto:[email protected]]
> Sent: Tuesday, February 05, 2008 8:43 AM
> To: Jeff Hill
> Cc: TechTalk EPICS; Babak Kalantari
> Subject: Portable Channel Access Server on vxWorks
>
> Hi Jeff, others,
>
> we are trying to get the portable channel access server (from R3.14.8.2)
> running
> on a pure vxWorks system (no EPICS IOC).
>
> The first thing I noticed was that several C++ template instances were
> missing:
>
> #include <ipIgnoreEntry.h>
> #include <casChannelI.h>
> template class resTable < ipIgnoreEntry, ipIgnoreEntry >;
> template class resTable < casChannelI, chronIntId >;
> template class resTable < casEventMaskEntry, stringId >;
> template class chronIntIdResTable < casChannelI >;
> template tsFreeList < casMonEvent, 1024, epicsMutexNOOP >;
> template tsFreeList < casMonitor, 1024, epicsMutex >;
> template tsFreeList < ipIgnoreEntry, 128, epicsMutex >;
>
> There is no templateInstances.cpp file in cas as it is in some other EPICS
> base
> libraries. This should probably be added.
>
> After adding those instances (which required to #include a few "private"
> header
> files which are not installed normally), I got a loadable *.munch library.
> But
> the server still seems not to work as under Linux. (It does not reply on
> caget.)
> Is there something special to do on vxWorks? Has anyone else ever run cas
on
> vxWorks?
>
> Dirk
>
> --
> Dr. Dirk Zimoch
> Paul Scherrer Institut, WBGB/006
> 5232 Villigen PSI, Switzerland
> Phone +41 56 310 5182
- References:
- Portable Channel Access Server on vxWorks Dirk Zimoch
- Navigate by Date:
- Prev:
Re: passive record/field to process when there is a CA read Andrew Johnson
- Next:
medm weirdness Emmanuel Mayssat
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Portable Channel Access Server on vxWorks Dirk Zimoch
- Next:
medm weirdness Emmanuel Mayssat
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|