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
<2007>
2008
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
<2007>
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|