Ethereal-dev: Re: [Ethereal-dev] It works!

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: David Frascone <dave@xxxxxxxxxxxx>
Date: Fri, 2 Nov 2001 00:52:12 -0600
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