- Timestamp:
- Mar 3, 2009 10:09:46 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gui/scripts/tool.tcl
r1003 r1286 156 156 } result] 157 157 158 # set limits for cpu time and file size158 # set limits for cpu time 159 159 set limit [$_xmlobj get tool.limits.cputime] 160 160 if {"" == $limit || [catch {Rappture::rlimit set cputime $limit}]} { 161 161 Rappture::rlimit set cputime 900 ;# 15 mins by default 162 }163 164 set limit [$_xmlobj get tool.limits.filesize]165 if {"" == $limit || [catch {Rappture::rlimit set filesize $limit}]} {166 Rappture::rlimit set filesize 1000000 ;# 1MB by default167 162 } 168 163 -
trunk/lang/tcl/src/RpRlimit.c
r1018 r1286 95 95 Tcl_ObjCmdProc *proc; 96 96 97 proc = Rp_GetOpFromObj(interp, nRlimitOps, rlimitOps, RP_OP_ARG1, 98 97 proc = Rp_GetOpFromObj(interp, nRlimitOps, rlimitOps, RP_OP_ARG1, 98 objc, objv, 0); 99 99 if (proc == NULL) { 100 100 return TCL_ERROR; … … 129 129 struct rlimit rvals; 130 130 rlim_t *rvalptr; 131 131 132 132 if (nextarg < objc) { 133 133 const char *string; 134 134 135 135 string = Tcl_GetString(objv[nextarg]); 136 136 if (string[0] == '-') { 137 137 if (strcmp(string,"-soft") == 0) { 138 138 hardlim = 0; … … 144 144 Tcl_AppendResult(interp, "bad option \"", string, 145 145 "\": should be -soft or -hard", (char*)NULL); 146 146 return TCL_ERROR; 147 147 } 148 148 } … … 153 153 */ 154 154 if (nextarg >= objc) { 155 156 157 155 Tcl_Obj *listObjPtr; 156 157 listObjPtr = Tcl_NewListObj(0, NULL); 158 158 for (i=0; rlimitOptions[i].name != NULL; i++) { 159 159 Tcl_Obj *objPtr; 160 160 status = getrlimit(rlimitOptions[i].resid, &rvals); 161 161 if (status != 0) { … … 170 170 rvalptr = &rvals.rlim_cur; 171 171 } 172 173 172 objPtr = Tcl_NewStringObj(rlimitOptions[i].name, -1); 173 Tcl_ListObjAppendElement(interp, listObjPtr, objPtr); 174 174 if (*rvalptr == RLIM_INFINITY) { 175 175 objPtr = Tcl_NewStringObj("unlimited", -1); … … 177 177 objPtr = Tcl_NewLongObj((unsigned long)*rvalptr); 178 178 } 179 180 } 181 179 Tcl_ListObjAppendElement(interp, listObjPtr, objPtr); 180 } 181 Tcl_SetObjResult(interp, listObjPtr); 182 182 return TCL_OK; 183 183 } … … 187 187 */ 188 188 for (i=0; rlimitOptions[i].name != NULL; i++) { 189 190 191 189 const char *string; 190 191 string = Tcl_GetString(objv[nextarg]); 192 192 if (strcmp(string, rlimitOptions[i].name) == 0) { 193 193 break; … … 195 195 } 196 196 if (rlimitOptions[i].name == NULL) { 197 198 199 197 const char *string; 198 199 string = Tcl_GetString(objv[nextarg]); 200 200 return RpRlimitOptionError(interp, string); 201 201 } … … 215 215 216 216 if (*rvalptr == RLIM_INFINITY) { 217 217 objPtr = Tcl_NewStringObj("unlimited", -1); 218 218 } else { 219 219 objPtr = Tcl_NewLongObj((unsigned long)*rvalptr); … … 248 248 249 249 for (n=2; n < objc; n += 2) { 250 251 252 250 const char *name, *value; 251 252 name = Tcl_GetString(objv[n]); 253 253 if (n+1 >= objc) { 254 254 Tcl_AppendResult(interp, "missing value for option \"", … … 256 256 return TCL_ERROR; 257 257 } 258 258 value = Tcl_GetString(objv[n+1]); 259 259 if (strcmp(value, "unlimited") == 0) { 260 260 newval = RLIM_INFINITY;
Note: See TracChangeset
for help on using the changeset viewer.