On Thursday, 01 Nov 2001, Guy Harris wrote:
> Odd - I do all my builds under Bash from Cygwin, not from the DOS shell.
> What things did you have to do under the DOS shell, other than run
> "cleanbld.bat"?
I think my problem was that I had already built under unix, then I did a
make distclean (I think . . . perhaps I did a make clean . . that could
have been my problem), and copied it over for my Windows work. I didn't
pull down a new tree from CVS since I didn't want to move over my changes.
(I'm not a "patch" god like you guys have to be :)
> (Perhaps we should add a "distclean" entry to the "Makefile.nmake"
> files, so that
>
> nmake -f makefile.nmake distclean
>
> does what
>
> make distclean
>
> does on UNIX, namely get rid of all files that didn't come as part of
> the source disribution, including the "config.h" files.)
I think that would be helpful. Also, isn't the default nmake makefile
named Makefile.mak? Why not rename makefile.nmake to Makefile.mak so that
you can run nmake without arguments?
> > Although, the DNS lookups seemed MUCH slower than under linux)
>
> DNS lookups, or host name lookups?
Host name lookups (But, it did hit DNS to get them)
> I.e., if *successful* host name lookups don't seem slower on Windows
> than UNIX, but *unsuccessful* ones do, that might just be due to
> unsuccessful DNS lookups on Windows causing a NetBIOS-over-TCP lookup to
> be done, and, if unsuccessful, those take a while to fail.
Yeuch. Thanks again, Bill.
> In addition, there's code in "host_name_lookup()" in epan/resolv.c to
> impose a 2-second timeout on host name lookups, so even slow DNS lookups
> will get aborted after 2 seconds; however, that code depends on the UNIX
> SIGALRM signal and "alarm()" call working, so it isn't used on Windows.
I was thinking the other day about writing something like that. One of the
threads on my diameter server got stuck in a gethostbyaddr() call. But, since
I'm using threads, signals aren't the best way to do things. I'm thinking
about writing a little resolver class that has timeouts built in (by spawning
a thread to do the lookup, and waiting for it to finish for a while, then
killing it.) But, that another beast entirely.
Later,
-Dave