On Wed, Mar 07, 2007 at 08:13:40AM -0800, we recorded a bogon-computron collision of the <[EMAIL PROTECTED]> flavor, containing: > On Wed, 7 Mar 2007, Curt, WE7U wrote: > > > Uncommend the EXPIRE_DEBUG line and it'll try to remove each station > > afer 15 seconds plus output some debug info. Obviously I've been > > playing in this bit of code sometime in the past. > > This appears to be expiring stations properly for me. Of course > one could check where sec_remove is used to make sure we're not > overflowing an "int", "short int", or similar. Maybe at the higher > values of seconds it isn't working, but at low values it is.
Not sure this is the issue, but there *is* a potential problem: void check_station_remove(int curr_sec) { curr_sec (passed in as current_time from main.c) is actually a time_t, not an int. It's entirely possible that things like: if (last_station_remove < (curr_sec - STATION_REMOVE_CYCLE)) { aren't working right if curr_sec is truncated down to a signed int if time_t is an unsigned long. This is the conditional that actually runs the delete code under normal circumstances. last_station_remove is a time_t, and is assigned to directly from sec_now(). I'll have to try changing the function argument to a time_t and let it run for a few days, to see if that's it. -- Tom Russo KM5VY SAR502 DM64ux http://www.swcp.com/~russo/ Tijeras, NM QRPL#1592 K2#398 SOC#236 AHTB#1 http://kevan.org/brain.cgi?DDTNM "And, isn't sanity really just a one-trick pony anyway? I mean all you get is one trick, rational thinking, but when you're good and crazy, oooh, oooh, oooh, the sky is the limit!" --- The Tick _______________________________________________ Xastir-dev mailing list Xastir-dev@xastir.org http://lists.xastir.org/cgi-bin/mailman/listinfo/xastir-dev