#9377: Network Stack Deadlock ----------------------------------------+---------------------------- Reporter: jackburton | Owner: axeld Type: bug | Status: new Priority: normal | Milestone: R1 Component: Network & Internet/Stack | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 0 | Platform: All ----------------------------------------+---------------------------- Comment (by jackburton): Would it be possible to unlock the interface list mutex after getting the interface in get_interface(), before calling CreateDomainDatalinkIfNeeded() ? I mean here: {{{ Interface* get_interface(net_domain* domain, const char* name) { MutexLocker locker(sLock); Interface* interface = find_interface(name); if (interface == NULL) return NULL; + locker.Unlock(); if (interface->CreateDomainDatalinkIfNeeded(domain) != B_OK) return NULL; interface->AcquireReference(); return interface; } }}} At least, that function doesn't seem to mess with the interfaces list, so it would seem to be safe to unlock. -- Ticket URL: <http://dev.haiku-os.org/ticket/9377#comment:4> Haiku <http://dev.haiku-os.org> Haiku - the operating system.