EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Changes for RTEMS on ARM (at91rm9200ek)
From: Ralph Lange <[email protected]>
To: Jeff Hill <[email protected]>
Cc: "'EPICS Core Talk'" <[email protected]>, "'Ralf Hartmann'" <[email protected]>
Date: Thu, 21 Sep 2006 22:40:57 +0200
Hi Jeff,

thanks for your comments.

I just committed a version (to the 3.14 branch) that should address topics 1) and 3) of your list. Would you cross-check if that's what you meant? Thanks.

About topic 2): as the code calls into socket_ioctl() in the same fashion, I would say: yes. If you and Eric don't disagree, I will add those changes (later, not today, as my shift ends in 5 minutes...)

Cheers,
Ralph


Jeff Hill wrote:
(Waiting for Jeff to approve the changes in osdNetIntf.c)

After a very quick look I have these comments:

1) I think I see that the data structure for the first network interface is
skipped over (never seen) because of the following sequence of events. On
many, but not all, UNIX-like systems the first interface might be the
loopback interface. That might explain why this hasn't been observed to be a
problem?

O pIfreqList = (struct ifreq *) calloc ( nelem, sizeof(*pifreq) );
O the ioctl copies the struct ifreq data structures to pIfreqList O pifreq = pIfreqList; //the for loop initializer O pnextifreq = ifreqNext (pifreq); O // oops! skipped over the first network interface
O memmove(pIfreqList, pnextifreq, current_ifreqsize);
O use pIfreqList to look at the current struct ifreq
O pifreq = pnextifreq //for loop increment

2) Do we need the same type of changes also in osiLocalAddr?

3) At line 120 this code was added. Similar code is also at line 43. Perhaps
this code could be repackaged into a common function - a wrapper for the osd
ifreq_size() with the goal being that the wrapper is the only caller of OSD
ifreq_size()? Otherwise we could move this code into OSD ifreq_size() but
that would probably be a less fault tolerant approach (mistakes made by a
programmers porting to new os are what we might be concerned about).

	        if ( current_ifreqsize < sizeof ( *pifreq ) ) {
		       current_ifreqsize = sizeof ( *pifreq );
	        }

Jeff

Replies:
RE: Changes for RTEMS on ARM (at91rm9200ek) Jeff Hill
References:
RE: Changes for RTEMS on ARM (at91rm9200ek) Jeff Hill

Navigate by Date:
Prev: RE: Changes for RTEMS on ARM (at91rm9200ek) Jeff Hill
Next: RE: Changes for RTEMS on ARM (at91rm9200ek) Jeff Hill
Index: 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Changes for RTEMS on ARM (at91rm9200ek) Jeff Hill
Next: RE: Changes for RTEMS on ARM (at91rm9200ek) Jeff Hill
Index: 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·