Is there any reason why sorele() needs the accept lock to be held? 231 #define sorele(so) do { \ 232 ACCEPT_LOCK_ASSERT(); \ 233 SOCK_LOCK_ASSERT(so); \ 234 if ((so)->so_count <= 0) \ 235 panic("sorele"); \ 236 if (--(so)->so_count == 0) \ 237 sofree(so); \ 238 else { \ 239 SOCK_UNLOCK(so); \ 240 ACCEPT_UNLOCK(); \ 241 } \ 242 } while (0) -vijay