diff options
author | pjd <pjd@FreeBSD.org> | 2007-07-18 18:07:15 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2007-07-18 18:07:15 +0000 |
commit | 9b52656cc2c15dababfc24992c3e5a00263580b2 (patch) | |
tree | 48c7269d063e3cacb90db4c1da017c934dbdc50f /tools/regression/fstest/fstest.c | |
parent | f9539fa2932dd08852036c4f8260bb1fbd5814ff (diff) | |
download | FreeBSD-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.c | 4 |
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); } |