Hi John, thanks for the patch. This might take a while as I'm quite particular about what goes into the tree.
I did have a version that compiles on Win32, but it's not in the tree because I haven't really figured out how I should handle the pthread dependency and the pipe function. If I remember correctly, the descriptor returned by _pipe doesn't work with select(). And from the changes you've made to testmdnsd.c, it now looks like I need to worry about the IPv6 code as well.