summaryrefslogtreecommitdiffstats
path: root/tools/regression/fstest/fstest.c
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2007-07-18 18:07:15 +0000
committerpjd <pjd@FreeBSD.org>2007-07-18 18:07:15 +0000
commit9b52656cc2c15dababfc24992c3e5a00263580b2 (patch)
tree48c7269d063e3cacb90db4c1da017c934dbdc50f /tools/regression/fstest/fstest.c
parentf9539fa2932dd08852036c4f8260bb1fbd5814ff (diff)
downloadFreeBSD-src-9b52656cc2c15dababfc24992c3e5a00263580b2.zip
FreeBSD-src-9b52656cc2c15dababfc24992c3e5a00263580b2.tar.gz
Make fstest work out-of-the-box on Solaris:
- Solaris' setgroups(2) doesn't change process' effective gid, so set it explicitly. - POSIX doesn't define O_NOFOLLOW. FreeBSD returns EMLINK when target is a symbolic link, but Solaris returns ELOOP then. - Solaris doesn't define O_SHLOCK and O_EXLOCK flags. Approved by: re (rwatson)
Diffstat (limited to 'tools/regression/fstest/fstest.c')
-rw-r--r--tools/regression/fstest/fstest.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/regression/fstest/fstest.c b/tools/regression/fstest/fstest.c
index 98211d0..886b90f 100644
--- a/tools/regression/fstest/fstest.c
+++ b/tools/regression/fstest/fstest.c
@@ -530,6 +530,10 @@ set_gids(char *gids)
fprintf(stderr, "cannot change groups: %s\n", strerror(errno));
exit(1);
}
+ if (setegid(gidset[0]) < 0) {
+ fprintf(stderr, "cannot change effective gid: %s\n", strerror(errno));
+ exit(1);
+ }
free(gidset);
}
OpenPOWER on IntegriCloud