Faculty of Information Technology
Software Engineering Group

Opened 5 years ago

Closed 5 years ago

#82 closed defect (fixed)

Thinlocks are broken when thread id exceeds 0xFFFF

Reported by: Jan Vrany Owned by: Jan Vraný
Priority: major Milestone: milestone:
Component: VM support Keywords:
Cc:

Description

In that case, TID is silently truncated. This cause deadlock when
later a thinlock is inflated.

The solution in three-fold:

  1. There are still 7 free bits in lockword. Use them to store larger TID.
  2. Correctly handle case the TID cannot fit into lockword
  3. Fix __threadCreate() in process.c to try to allocate TID that fit into lockword.

Change History (1)

comment:1 Changed 5 years ago by Jan Vrany

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.