LOCK_SH
code = flock(fd, (operation == HDB_RLOCK ? LOCK_SH : LOCK_EX) | LOCK_NB);
ret = flock(fd, exclusive ? LOCK_EX : LOCK_SH);
case LOCK_SH: /* Shared lock */
#define OP_MASK (LOCK_SH | LOCK_EX | LOCK_UN)
case LOCK_SH:
lock_flag = LOCK_SH;
#ifndef LOCK_SH
switch (op & (LOCK_EX|LOCK_SH|LOCK_UN)) {
case LOCK_SH:
(void) flock(fileno(df), LOCK_SH);
else if (uap->how & LOCK_SH)
ATF_REQUIRE_EQ(0, flock(filedesc, LOCK_SH));
ATF_REQUIRE_ERRNO(EBADF, flock(-1, LOCK_SH) == -1);
CHECK_RIGHT_RESULT(flock(cap_fd, LOCK_SH), rights, CAP_FLOCK);
if (flock(fd, LOCK_SH) < 0)
ATF_REQUIRE_ERRNO(EOPNOTSUPP, flock(pathfd, LOCK_SH) == -1);
ATF_REQUIRE_ERRNO(EOPNOTSUPP, flock(pathfd, LOCK_SH | LOCK_NB) == -1);
if (fd < 0 || flock(fd, LOCK_SH | LOCK_NB) == 0) {
#ifndef LOCK_SH
if (fd < 0 || flock(fd, LOCK_SH|LOCK_NB) == 0) {
lockres = flock(fileno(fp), LOCK_SH|LOCK_NB);
(LOCK_EX | LOCK_NB) : (LOCK_SH | LOCK_NB);
flock(fd, LOCK_SH);