I located my immediate problem, I needed NS_IMPL_THREADSAFE_ISUPPORTS on one of my objects. That made the assertions go away.
I'm still not 100% clear on what is happening with threading. If I was building this from scratch I would use a single thread. Everything would be event driven like lighttpd and polipo. WIth Mozilla/XPCOM it seems to be a mix of both threads and events. What is confusing is the nsIServerSocketListener object. It lives on the UI thread but its events are coming on the socket thread. I couldn't figure out how to make the nsIServerSocketListener object live on the socket thread and get rid of the proxy object. -- Jon Smirl [EMAIL PROTECTED] _______________________________________________ dev-tech-network mailing list dev-tech-network@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-network