Messages in this thread | | | Date | Fri, 23 Jul 1999 16:24:21 -0400 (EDT) | From | "Adam D. Bradley" <> | Subject | Re: processes stuck in skb_recv_datagram |
| |
Rob Riggs wrote: > Multiple threads calling gethostbyname_r() (and using DNS > to resolve) ends up with threads stuck in skb_recv_datagram.
Confirmed, I had to put a horrendously ugly hack into my threaded web server to work around this.
All the userspace code appears correct; basically, libresolv (glibc 2.1) checks the UDP socket with poll(), which indicates data is waiting; it then calls some variant of recv(), which blocks indefinitely. I've only ever been able to re-produce it under heavy load, which leads me to wildly speculate it's a race condition in the UDP code somewhere. (Wow, Adam, that's really helpful.) I'll try to reproduce the problem tonight on my laptop and provide more precise information... (sure wish I could ptrace a linuxthreads program...)
Adam -- Your lives aren't small, but \ Adam Davenport Bradley, Grad Student you're living them in a small \ Boston University Computer Science way. Live openly and expansively! \ artdodge@cs.bu.edu 353-8921/MCS211 II Cor 6:12-13 (The Message) <>< \ http://www.netwinder.org/~artdodge
Hi! I'm a signature virus! Copy me into your signature so I can spread!
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |