Do not warn the user when 'madvise' returns ENOSYS.
authorLudovic Courtès <ludo@gnu.org>
Sat, 15 Dec 2018 17:04:27 +0000 (18:04 +0100)
committerLudovic Courtès <ludo@gnu.org>
Sun, 16 Dec 2018 10:34:14 +0000 (11:34 +0100)
* libguile/vm.c (return_unused_stack_to_os): Avoid 'perror' calls when
'madvise' returns ENOSYS.

libguile/vm.c

index c8ec6e1b2fc27720087e2f6c955721647ff3e9d8..c313119e7288289de1ec608fdc9e60a1f727ca47 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -904,7 +904,10 @@ return_unused_stack_to_os (struct scm_vm *vp)
         ret = madvise ((void *) lo, hi - lo, MADV_DONTNEED);
       while (ret && errno == EAGAIN);
 
-      if (ret)
+      /* If the OS doesn't implement 'madvise' (as is currently the case
+         for GNU/Hurd), don't warn the user since there's nothing they
+         can do about it.  */
+      if (ret && errno != ENOSYS)
         perror ("madvise failed");
     }