diff --git a/includes/session.inc b/includes/session.inc
--- a/includes/session.inc
+++ b/includes/session.inc
@@ -163,7 +163,7 @@
   try {
     if (!drupal_save_session()) {
       // We don't have anything to do if we are not allowed to save the session.
-      return;
+      return TRUE;
     }

     // Check whether $_SESSION has been changed in this request.
@@ -271,6 +271,7 @@
     }
   }
   date_default_timezone_set(drupal_get_user_timezone());
+  return TRUE;
 }

 /**
@@ -292,6 +293,7 @@
       $_SESSION += $session_data;
     }
   }
+  return TRUE;
 }

 /**
@@ -304,7 +306,7 @@

   if (!drupal_save_session()) {
     // We don't have anything to do if we are not allowed to save the session.
-    return;
+    return TRUE;
   }

   if (empty($user->uid) && empty($_SESSION)) {
@@ -329,6 +331,7 @@
     // Write the session data.
     session_write_close();
   }
+  return TRUE;
 }

 /**
@@ -351,7 +354,7 @@
   global $user, $is_https;
   // Nothing to do if we are not allowed to change the session.
   if (!drupal_save_session()) {
-    return;
+    return TRUE;
   }

   if ($is_https && variable_get('https', FALSE)) {
@@ -410,6 +413,7 @@
     $user = $account;
   }
   date_default_timezone_set(drupal_get_user_timezone());
+  return TRUE;
 }

 /**
@@ -425,7 +429,7 @@

   // Nothing to do if we are not allowed to change the session.
   if (!drupal_save_session()) {
-    return;
+    return TRUE;
   }

   // Delete session data.
@@ -446,6 +450,7 @@
   elseif (variable_get('https', FALSE)) {
     _drupal_session_delete_cookie('S' . session_name(), TRUE);
   }
+  return TRUE;
 }

 /**
@@ -466,6 +471,7 @@
     setcookie($name, '', REQUEST_TIME - 3600, $params['path'], $params['domain'], $params['secure'], $params['httponly']);
     unset($_COOKIE[$name]);
   }
+  return TRUE;
 }

 /**
@@ -477,7 +483,7 @@
 function drupal_session_destroy_uid($uid) {
   // Nothing to do if we are not allowed to change the session.
   if (!drupal_save_session()) {
-    return;
+    return TRUE;
   }

   db_delete('sessions')