EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  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  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Asyn/VXI-11 problems
From: Benjamin Franksen <[email protected]>
To: [email protected]
Date: Fri, 21 Sep 2007 15:36:21 +0200
On Friday 21 September 2007 12:30, Benjamin Franksen wrote:
> I have not produced a fix for this problem. I guess you (Eric) know
> better how to approach this.

Well, my current, very crude, solution is to replace all (seven) 
clnt_destroy calls by

    if (pvxiPort->rpcClient) {
        clnt_destroy(pvxiPort->rpcClient);
        pvxiPort->rpcClient = 0;
    } else {
        if(pasynUser) asynPrint(pasynUser,ASYN_TRACE_ERROR,
            "%s internal error: RPC handle already 
destroyed\n",pvxiPort->portName);
    }

In fact I can see the above 'internal error' messages appearing when I run 
our test setup.

There is yet another problem: the error checking after calls to clnt_call si 
wrong. The code is

    if(stat!=RPC_SUCCESS || errno!=0) {
    	/* error handling */
	}

which leads to pseudo errors; errno should be checked only if the return 
value is abnormal. It should be just

    if(stat!=RPC_SUCCESS) {
    	/* error handling */
	}

Also, the error message should not output the numerical value of errno, but 
the number converted to a string (via strerror) as is done in all other 
parts of the file.

Cheers
Ben

Replies:
Re: Asyn/VXI-11 problems Eric Norum
References:
Asyn/VXI-11 problems Benjamin Franksen
Re: Asyn/VXI-11 problems Eric Norum
Re: Asyn/VXI-11 problems Benjamin Franksen

Navigate by Date:
Prev: Re: Asyn/VXI-11 problems Benjamin Franksen
Next: Re: Asyn/VXI-11 problems Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Asyn/VXI-11 problems Benjamin Franksen
Next: Re: Asyn/VXI-11 problems Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·