Rob Shearman : server: Only call fchmod in file_set_fd if the mode actually changed.
Alexandre Julliard
julliard at winehq.org
Tue Oct 9 13:37:29 CDT 2007
Module: wine
Branch: master
Commit: f5070b051147c33ccde44b2dfcb94c6338e0ce0f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f5070b051147c33ccde44b2dfcb94c6338e0ce0f
Author: Rob Shearman <rob at codeweavers.com>
Date: Sat Oct 6 14:31:34 2007 +0200
server: Only call fchmod in file_set_fd if the mode actually changed.
---
server/file.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/server/file.c b/server/file.c
index 69d052c..7c384a3 100644
--- a/server/file.c
+++ b/server/file.c
@@ -503,13 +503,16 @@ static int file_set_sd( struct object *obj, const struct security_descriptor *sd
/* no ACL means full access rights to anyone */
new_mode |= S_IRWXU | S_IRWXO;
- if (fchmod( unix_fd, new_mode & ~denied_mode ) == -1)
+ if (file->mode != (new_mode & ~denied_mode))
{
- file_set_error();
- return 0;
- }
+ if (fchmod( unix_fd, new_mode & ~denied_mode ) == -1)
+ {
+ file_set_error();
+ return 0;
+ }
- file->mode = new_mode & ~denied_mode;
+ file->mode = new_mode & ~denied_mode;
+ }
}
return 1;
}
More information about the wine-cvs
mailing list