in lldbmacros/init.py [0:0]
def GetUserMutexSummary(task, uaddr):
if int(task.t_flags) & 0x1:
mtxlayout = "QIIhhIQIII"
padoffset = 1
else:
mtxlayout = "QIIhhQIII"
padoffset = 0
data = GetUserDataAsString(task, unsigned(uaddr), struct.calcsize(mtxlayout))
info = struct.unpack(mtxlayout, data)
format = "{0: <24s} {1: <16s} {2: <16s} {3: <16s} {4: <16s}"
sigstr = str("{0: <#020x}".format(info[0]))
# the options field dictates whether we were created misaligned
if info[2] & 0x800:
lseq = info[7+padoffset]
useq = info[8+padoffset]
else:
lseq = info[6+padoffset]
useq = info[7+padoffset]
return format.format(sigstr, hex(info[5+padoffset]), hex(info[2]), hex(lseq), hex(useq))