Page 3 of 3
Re: Crash implementing dual-stack
Posted: Mon Feb 03, 2020 12:29 pm
by TomNB
Binary, or do you build it from source? If binary, then you should ask DMH what version they built it with, and if they use the m_alignint flag.
What version are you using, and are you using m_alignint? If this is a mis-match, then it affects structures and classes.
Re: Crash implementing dual-stack
Posted: Mon Feb 03, 2020 1:20 pm
by SeeCwriter
I get the binary. We (DMH & myself) resolved the aligment flag issue in August of last year using v2.9.1. And the 32-bit aligment flag is disabled on all projects. We never use that "feature".
Re: Crash implementing dual-stack
Posted: Tue Feb 04, 2020 11:58 am
by SeeCwriter
Just kidding!
It's true that with the 'idle' parameter declared as I mentioned in a previous post (not a pointer to a class) that the program no longer crashes, but the class's Reset() function doesn't execute after the class object is created. The Reset function executes once at creation and initializes the parameters to default values. After that, a call to Reset does nothing.
Code: Select all
void c_interval::Reset(DWORD msec)
{
if (msec) interval = (DWORD)(msec * TICKS_PER_SECOND / 1000); //lint !e790 Example: 50 msec interval x 20 ticks/sec / 1000 = 1 tick.
timeout = TimeTick + interval; //lint !e644
start_time = TimeTick;
}
But if I declare the class before IPADDR6 parameter is declared, it works fine.