Changeset 26596 in vbox for trunk/src/VBox/Devices/Network/slirp
- Timestamp:
- Feb 17, 2010 4:29:46 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 57788
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/slirp/misc.c
r26404 r26596 152 152 struct item *it; 153 153 RTCritSectEnter(&zone->csZone); 154 if ( (zone->max_items != 0 && zone->cur_items >= zone->max_items) 155 || (zone->max_items == 0 && !LIST_EMPTY(&zone->free_items)) 156 ) 154 if (!LIST_EMPTY(&zone->free_items)) 157 155 { 158 156 /* … … 184 182 zone->cur_items++; 185 183 it->zone = zone; 184 if (zone->cur_items >= zone->max_items) 185 LogRel(("NAT: zone(%s) has reached it maximum\n", zone->name)); 186 186 187 187 allocated: … … 369 369 static void zone_destroy(uma_zone_t zone) 370 370 { 371 struct item *it; 372 RTCritSectEnter(&zone->csZone); 373 LogRel(("NAT: zone(nm:%s, used:%d)\n", zone->name, zone->cur_items)); 374 /* freeing */ 375 while (!LIST_EMPTY(&zone->free_items)) 376 { 377 it = LIST_FIRST(&zone->free_items); 378 LIST_REMOVE(it, list); 379 RTMemFree(it); 380 } 381 while (!LIST_EMPTY(&zone->used_items)) 382 { 383 it = LIST_FIRST(&zone->used_items); 384 LIST_REMOVE(it, list); 385 RTMemFree(it); 386 } 387 RTCritSectLeave(&zone->csZone); 371 388 RTCritSectDelete(&zone->csZone); 372 389 RTMemFree(zone);
Note:
See TracChangeset
for help on using the changeset viewer.