[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20010501: Busy core dump
- Subject: 20010501: Busy core dump
- Date: Tue, 1 May 2001 11:02:26 -0600
Scott and Steve,
I have found that Busy is leaving a core file (from NMAP2)
on my IRIX platform from the logo_animateFinish routine at the
busy.c call line 206:
XtRemoveTimeOut(_logoTimeoutId);
Looking at the code for the call to logo_animateFinish(),
I found that the variable _logoTimeoutId is defined twice.
First as a global at the top of the file:
XtIntervalId _logoTimeoutId = 0;
Then, it is redefined in the parameter list to the
function as an integer:
void logo_animateFinish ( _logoTimeoutId )
int _logoTimeoutId;
** Note that the prologue of the function does not match api **
The man page for XtRemoveTimeOut provides that the argument
should be of type XtIntervalId as is defined in the global:
XT FUNCTIONS XtAppAddTimeOut(3Xt)
NAME
XtAppAddTimeOut, XtRemoveTimeOut - register and remove
timeouts
SYNTAX
void XtRemoveTimeOut(timer)
XtIntervalId timer;
Since the _logoTimeoutId is a global, I changed the argument name in
the parameter list to:
void logo_animateFinish ( int _dummy )
This allows the global variable to be used in the routine. The core
dumps have stopped. I believe that the busy cursor is correctly displayed.
I'm not clear from the prologue and the prototype at the top of
the routine for logo_animateFinish how to rectify these 2 uses of
the same variable name.
Steve
------------------------------------------------------------
Steve Chiswell
Unidata User Support