Helper function to set sysctl limits
( name, limit )
| 497 | |
| 498 | # Other stuff we use |
| 499 | def sysctlTestAndSet( name, limit ): |
| 500 | "Helper function to set sysctl limits" |
| 501 | # convert non-directory names into directory names |
| 502 | if '/' not in name: |
| 503 | name = '/proc/sys/' + name.replace( '.', '/' ) |
| 504 | # read limit |
| 505 | with open( name, 'r' ) as readFile: |
| 506 | oldLimit = readFile.readline() |
| 507 | if isinstance( limit, int ): |
| 508 | # compare integer limits before overriding |
| 509 | if int( oldLimit ) < limit: |
| 510 | with open( name, 'w' ) as writeFile: |
| 511 | writeFile.write( "%d" % limit ) |
| 512 | else: |
| 513 | # overwrite non-integer limits |
| 514 | with open( name, 'w' ) as writeFile: |
| 515 | writeFile.write( limit ) |
| 516 | |
| 517 | def rlimitTestAndSet( name, limit ): |
| 518 | "Helper function to set rlimits" |