[Xastir] New lsb-xastir binary available
Curt, WE7U
archer at eskimo.com
Mon Dec 4 10:20:30 EST 2006
On Sun, 3 Dec 2006, Curt Mills wrote:
> The bug I found last night which caused segfaults appears to be in
> the libcurl code in util.c. I did a fix for the LSB version but
> included it inside #ifdef's.
>
> Any non-LSB Xastir suffers from the same problem, so more than
> likely that bit of code needs to be enabled for all builds except
> for very old libcurl libraries that don't have that feature.
> Perhaps very old libcurl sources don't exhibit this segfault?
>
> If you disable all of your network access and then try to download a
> GPS track, your Xastir may segfault sometime shortly after libcurl
> times out. That's the easy way to check.
What I'd like to do: Figure out when CURLOPT_NOSIGNAL became
available in libcurl, then enclose it in #ifdef's like this:
#if (LIBCURL_VERSION_NUM >= 0x071007)
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
#endif // LIBCURL_VERSION_NUM
Instead of the below code which is what we have now and only fixes
the segfault for lsb-xastir:
#ifdef __LSB__
// This prevents a segfault for the case where we get a
// timeout on
// domain name lookup or file transfer.
// Only newer libcurl has this?
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
#endif // __LSB__
Actually, it looks like this just disables a signal, so one could
look through the libcurl source code, figure out which signal it
uses, add a signal handler to Xastir for it, and forget about this
thing once and for all.
--
Curt, WE7U. APRS Client Comparisons: http://www.eskimo.com/~archer
"Lotto: A tax on people who are bad at math." -- unknown
"Windows: Microsoft's tax on computer illiterates." -- WE7U
"The world DOES revolve around me: I picked the coordinate system!"
More information about the Xastir
mailing list