Changeset 8014 for trunk/oscam-garbage.c
- Timestamp:
- 12/30/12 14:57:05 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/oscam-garbage.c
r7644 r8014 32 32 33 33 if (!garbage_collector_active || garbage_debug == 1) { 34 cs_sleepms(1); 34 35 free(data); 35 36 return; … … 37 38 38 39 int32_t bucket = (uintptr_t)data/16 % HASH_BUCKETS; 40 struct cs_garbage *garbage; 41 if (!cs_malloc(&garbage, sizeof(struct cs_garbage))){ 42 cs_sleepms(1); 43 free(data); 44 return; 45 } 46 garbage->time = time(NULL); 47 garbage->data = data; 48 #ifdef WITH_DEBUG 49 garbage->file = file; 50 garbage->line = line; 51 #endif 39 52 cs_writelock(&garbage_lock[bucket]); 40 53 … … 48 61 cs_log("Original garbage addition: %s, line %d.", garbagecheck->file, garbagecheck->line); 49 62 cs_writeunlock(&garbage_lock[bucket]); 63 free(garbage); 50 64 return; 51 65 } … … 55 69 #endif 56 70 57 struct cs_garbage *garbage;58 if (!cs_malloc(&garbage, sizeof(struct cs_garbage)))59 {60 free(data);61 cs_writeunlock(&garbage_lock[bucket]);62 return;63 }64 garbage->time = time(NULL);65 garbage->data = data;66 71 garbage->next = garbage_first[bucket]; 67 #ifdef WITH_DEBUG68 garbage->file = file;69 garbage->line = line;70 #endif71 72 garbage_first[bucket] = garbage; 72 73 73 cs_writeunlock(&garbage_lock[bucket]); 74 74 }
Note:
See TracChangeset
for help on using the changeset viewer.