unlinkdir: cannot_unlink_dir may modify process state
authorJim Meyering <meyering@redhat.com>
Tue, 3 Mar 2009 14:07:45 +0000 (15:07 +0100)
committerJim Meyering <meyering@redhat.com>
Tue, 3 Mar 2009 14:07:45 +0000 (15:07 +0100)
* lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
it's neither thread-safe nor appropriate for use in a library.

ChangeLog
lib/unlinkdir.c

index f4841af..3059649 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-03  Jim Meyering  <meyering@redhat.com>
+
+       unlinkdir: cannot_unlink_dir may modify process state
+       * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
+       it's neither thread-safe nor appropriate for use in a library.
+
 2009-03-03  Eric Blake  <ebb9@byu.net>
 
        test-closein: silence test under Darwin
index 12e669e..9c3ff00 100644 (file)
@@ -1,6 +1,6 @@
 /* unlinkdir.c - determine (and maybe change) whether we can unlink directories
 
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* Return true if we cannot unlink directories, false if we might be
    able to unlink directories.  If possible, tell the kernel we don't
-   want to be able to unlink directories, so that we can return true.  */
+   want to be able to unlink directories, so that we can return true.
+
+   Note: this function may modify the process privilege set, to remove
+   the PRIV_SYS_LINKDIR privilege, so is neither thread-safe, nor
+   appropriate for use in a library.  */
 
 bool
 cannot_unlink_dir (void)