Commit e386501
session server BUGFIX call home deadlock
Whenever a CH client is listening before a CH endpoint is created by the
server, a deadlock happens where the server's CH thread tries to grab
the config READ lock for a second time in ignored mod check (grabs it
for the 1st time in ch_client_thread). The config applying thread then
gets hung up in apply_diff on WRITE lock acquisition.
This commit removes the 2nd READ lock acquisition of the CH thread,
removing the deadlock scenario.
Fixes CESNET/netopeer2#17871 parent 53393d3 commit e386501
3 files changed
Lines changed: 70 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1116 | 1116 | | |
1117 | 1117 | | |
1118 | 1118 | | |
1119 | | - | |
1120 | | - | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
1121 | 1129 | | |
1122 | 1130 | | |
1123 | 1131 | | |
| |||
1232 | 1240 | | |
1233 | 1241 | | |
1234 | 1242 | | |
1235 | | - | |
| 1243 | + | |
1236 | 1244 | | |
1237 | 1245 | | |
1238 | 1246 | | |
| |||
1337 | 1345 | | |
1338 | 1346 | | |
1339 | 1347 | | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
1340 | 1354 | | |
1341 | 1355 | | |
1342 | 1356 | | |
1343 | | - | |
| 1357 | + | |
1344 | 1358 | | |
1345 | 1359 | | |
1346 | 1360 | | |
| |||
1400 | 1414 | | |
1401 | 1415 | | |
1402 | 1416 | | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
1403 | 1424 | | |
1404 | | - | |
| 1425 | + | |
1405 | 1426 | | |
1406 | 1427 | | |
1407 | 1428 | | |
| |||
1419 | 1440 | | |
1420 | 1441 | | |
1421 | 1442 | | |
1422 | | - | |
| 1443 | + | |
1423 | 1444 | | |
1424 | 1445 | | |
1425 | 1446 | | |
| |||
1609 | 1630 | | |
1610 | 1631 | | |
1611 | 1632 | | |
1612 | | - | |
| 1633 | + | |
1613 | 1634 | | |
1614 | 1635 | | |
1615 | 1636 | | |
| |||
1623 | 1644 | | |
1624 | 1645 | | |
1625 | 1646 | | |
| 1647 | + | |
| 1648 | + | |
| 1649 | + | |
| 1650 | + | |
| 1651 | + | |
| 1652 | + | |
| 1653 | + | |
| 1654 | + | |
| 1655 | + | |
| 1656 | + | |
| 1657 | + | |
| 1658 | + | |
| 1659 | + | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
1626 | 1667 | | |
1627 | 1668 | | |
1628 | 1669 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1227 | 1227 | | |
1228 | 1228 | | |
1229 | 1229 | | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
1230 | 1239 | | |
1231 | 1240 | | |
1232 | 1241 | | |
| |||
1434 | 1443 | | |
1435 | 1444 | | |
1436 | 1445 | | |
| 1446 | + | |
1437 | 1447 | | |
1438 | 1448 | | |
1439 | | - | |
| 1449 | + | |
1440 | 1450 | | |
1441 | 1451 | | |
1442 | 1452 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3016 | 3016 | | |
3017 | 3017 | | |
3018 | 3018 | | |
3019 | | - | |
| 3019 | + | |
3020 | 3020 | | |
3021 | 3021 | | |
3022 | 3022 | | |
| |||
4514 | 4514 | | |
4515 | 4515 | | |
4516 | 4516 | | |
4517 | | - | |
| 4517 | + | |
4518 | 4518 | | |
4519 | 4519 | | |
4520 | 4520 | | |
4521 | 4521 | | |
4522 | | - | |
4523 | | - | |
4524 | | - | |
| 4522 | + | |
| 4523 | + | |
| 4524 | + | |
| 4525 | + | |
| 4526 | + | |
4525 | 4527 | | |
4526 | 4528 | | |
4527 | 4529 | | |
| |||
4531 | 4533 | | |
4532 | 4534 | | |
4533 | 4535 | | |
4534 | | - | |
4535 | | - | |
| 4536 | + | |
| 4537 | + | |
| 4538 | + | |
| 4539 | + | |
4536 | 4540 | | |
4537 | 4541 | | |
4538 | 4542 | | |
| |||
0 commit comments