Commit 73ea8e1
committed
fix(rdmacm): use
`or_insert()` eagerly evaluates the default argument even when the entry
exists, causing a new `DeviceContext` to be created and immediately
dropped. This triggers `ibv_close_device()` on the shared verbs context,
corrupting the cached entry.
Switch to `or_insert_with()` so the `DeviceContext` is only constructed
when the `HashMap` entry is missing.
Signed-off-by: Luke Yue <lukedyue@gmail.com>or_insert_with() to avoid eager DeviceContext creation1 parent ce99bd9 commit 73ea8e1
1 file changed
Lines changed: 45 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
847 | 847 | | |
848 | 848 | | |
849 | 849 | | |
850 | | - | |
851 | | - | |
852 | | - | |
| 850 | + | |
| 851 | + | |
853 | 852 | | |
854 | 853 | | |
855 | | - | |
| 854 | + | |
| 855 | + | |
856 | 856 | | |
857 | 857 | | |
858 | 858 | | |
| |||
1156 | 1156 | | |
1157 | 1157 | | |
1158 | 1158 | | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
1159 | 1200 | | |
0 commit comments