Changes between Version 1 and Version 2 of Ticket #9377, comment 3


Ignore:
Timestamp:
Jan 19, 2013, 8:22:49 PM (11 years ago)
Author:
jackburton

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #9377, comment 3

    v1 v2  
    1 From the backtrace of the two threads, the lock inversion is clear: the wpa_supplicant thread calls get_interface() which locks the "net_interfaces" mutex, then CreateDomainDatalinkIfNeeded() try to acquire the recursive lock of the interface.
     1From the backtrace of the two threads, the lock inversion is clear: the wpa_supplicant thread calls get_interface() which first locks the "net_interfaces" mutex, then calls CreateDomainDatalinkIfNeeded() tries to acquire the recursive lock of the interface.
    22
    33The ifconfig thread, on the other hand, first acquires the interface lock in Interface::SetDown(), then (through the ipv6 protocol add-on) calls get_interface() which tries to acquire the net_interfaces mutex.