Browse Source

Remove the request for current memlock limits

The getrlimit call didn't have any effect. Also make some logging
less verbose on default log level, and refactor a bit.
Sebastian Hahn 15 years ago
parent
commit
4aa56cbd2d
1 changed files with 5 additions and 18 deletions
  1. 5 18
      src/common/compat.c

+ 5 - 18
src/common/compat.c

@@ -2187,30 +2187,18 @@ tor_set_max_memlock(void)
    */
 
   struct rlimit limit;
-  int ret;
-
-  /* Do we want to report current limits first? This is not really needed. */
-  ret = getrlimit(RLIMIT_MEMLOCK, &limit);
-  if (ret == -1) {
-    log_warn(LD_GENERAL, "Could not get RLIMIT_MEMLOCK: %s", strerror(errno));
-    return -1;
-  }
 
   /* RLIM_INFINITY is -1 on some platforms. */
   limit.rlim_cur = RLIM_INFINITY;
   limit.rlim_max = RLIM_INFINITY;
 
-  ret = setrlimit(RLIMIT_MEMLOCK, &limit);
-  if (ret == -1) {
+  if (setrlimit(RLIMIT_MEMLOCK, &limit) == -1) {
     if (errno == EPERM) {
       log_warn(LD_GENERAL, "You appear to lack permissions to change memory "
                            "limits. Are you root?");
-      log_warn(LD_GENERAL, "Unable to raise RLIMIT_MEMLOCK: %s",
-               strerror(errno));
-    } else {
-      log_warn(LD_GENERAL, "Could not raise RLIMIT_MEMLOCK: %s",
-               strerror(errno));
     }
+    log_warn(LD_GENERAL, "Unable to raise RLIMIT_MEMLOCK: %s",
+             strerror(errno));
     return -1;
   }
 
@@ -2243,12 +2231,11 @@ tor_mlockall(void)
 
 #if defined(HAVE_MLOCKALL) && HAVE_DECL_MLOCKALL && defined(RLIMIT_MEMLOCK)
   if (tor_set_max_memlock() == 0) {
-    /* Perhaps we only want to log this if we're in a verbose mode? */
-    log_notice(LD_GENERAL, "RLIMIT_MEMLOCK is now set to RLIM_INFINITY.");
+    log_debug(LD_GENERAL, "RLIMIT_MEMLOCK is now set to RLIM_INFINITY.");
   }
 
   if (mlockall(MCL_CURRENT|MCL_FUTURE) == 0) {
-    log_notice(LD_GENERAL, "Insecure OS paging is effectively disabled.");
+    log_info(LD_GENERAL, "Insecure OS paging is effectively disabled.");
     return 0;
   } else {
     if (errno == ENOSYS) {