Opened 15 years ago
Closed 15 years ago
#199 closed defect (fixed)
Potential deadlock in icmp_echo()
Reported by: | Jakub Jermář | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.4.2 |
Component: | helenos/net/icmp | Version: | mainline |
Keywords: | Cc: | ||
Blocker for: | Depends on: | ||
See also: |
Description
This is a similar problem as in tickets #195 and #196.
In icmp_echo(), icmp_globals.lock is locked. Then we acquire reply→mutex.
Before fibril_condvar_wait_timeout(), we must unlock icmp_globals.lock. After fibril_condvar_wait_timeout(), we should reacquire it, but not before we drop reply→mutex, which is still held.
We currently don't drop reply→mutex and therefore have two different locking schemes which may lead to a deadlock.
Note:
See TracTickets
for help on using tickets.
Fixed in changeset:head,310.