Changeset 4282
- Timestamp:
- 01/19/10 13:44:23 (3 years ago)
- Location:
- zzuf/trunk/src
- Files:
-
- 4 edited
-
libzzuf/lib-mem.c (modified) (3 diffs)
-
libzzuf/libzzuf.c (modified) (1 diff)
-
myfork.c (modified) (1 diff)
-
zzuf.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
zzuf/trunk/src/libzzuf/lib-mem.c
r4258 r4282 132 132 /* setrlimit(RLIMIT_AS) is ignored on OS X, we need to check memory usage 133 133 * from inside the process. Oh, and getrusage() doesn't work either. */ 134 #if defined HAVE_MACH_TASK_H 135 vm_size_t mach_page_size; 136 #endif 137 134 138 static int memory_exceeded(void) 135 139 { … … 140 144 if (task_info(mach_task_self(), TASK_BASIC_INFO, 141 145 (task_info_t)&tbi, &mmtn) == KERN_SUCCESS 142 && tbi.resident_size > _zz_memory) 146 && (int64_t)tbi.resident_size * mach_page_size / 1048576 147 > (int64_t)_zz_memory) 143 148 return 1; 144 149 #endif … … 152 157 LOADSYM(malloc); 153 158 LOADSYM(realloc); 159 160 #if defined HAVE_MACH_TASK_H 161 host_page_size(mach_host_self(), &mach_page_size); 162 #endif 154 163 } 155 164 -
zzuf/trunk/src/libzzuf/libzzuf.c
r4258 r4282 177 177 tmp = getenv("ZZUF_MEMORY"); 178 178 if(tmp) 179 _zz_memory = ato ll(tmp);179 _zz_memory = atoi(tmp); 180 180 181 181 tmp = getenv("ZZUF_NETWORK"); -
zzuf/trunk/src/myfork.c
r4257 r4282 179 179 { 180 180 struct rlimit rlim; 181 rlim.rlim_cur = opts->maxmem * 10 00000;182 rlim.rlim_max = opts->maxmem * 10 00000;181 rlim.rlim_cur = opts->maxmem * 1048576; 182 rlim.rlim_max = opts->maxmem * 1048576; 183 183 setrlimit(ZZUF_RLIMIT_MEM, &rlim); 184 184 } -
zzuf/trunk/src/zzuf.c
r4277 r4282 291 291 #if defined HAVE_SETRLIMIT && defined ZZUF_RLIMIT_MEM 292 292 case 'M': /* --max-memory */ 293 setenv("ZZUF_MEMORY", "1", 1);294 293 if(myoptarg[0] == '=') 295 294 myoptarg++; … … 458 457 if(opts->refuse) 459 458 setenv("ZZUF_REFUSE", opts->refuse, 1); 459 #if defined HAVE_SETRLIMIT && defined ZZUF_RLIMIT_MEM 460 if(opts->maxmem >= 0) 461 { 462 char buf[32]; 463 snprintf(buf, 32, "%i", opts->maxmem); 464 setenv("ZZUF_MEMORY", buf, 1); 465 } 466 #endif 460 467 461 468 /* Allocate memory for children handling */
Note: See TracChangeset
for help on using the changeset viewer.
