os: Remove unused pread/pwrite/lockit functions
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Jamey Sharp <jamey@minilop.net>
This commit is contained in:
parent
9120e58556
commit
2e15f1903d
50
os/utils.c
50
os/utils.c
|
@ -1858,53 +1858,3 @@ error:
|
||||||
free(list);
|
free(list);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __SCO__
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
static void
|
|
||||||
lockit (int fd, short what)
|
|
||||||
{
|
|
||||||
struct flock lck;
|
|
||||||
|
|
||||||
lck.l_whence = 0;
|
|
||||||
lck.l_start = 0;
|
|
||||||
lck.l_len = 1;
|
|
||||||
lck.l_type = what;
|
|
||||||
|
|
||||||
(void)fcntl (fd, F_SETLKW, &lck);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SCO OpenServer 5 lacks pread/pwrite. Emulate them. */
|
|
||||||
ssize_t
|
|
||||||
pread (int fd, void *buf, size_t nbytes, off_t offset)
|
|
||||||
{
|
|
||||||
off_t saved;
|
|
||||||
ssize_t ret;
|
|
||||||
|
|
||||||
lockit (fd, F_RDLCK);
|
|
||||||
saved = lseek (fd, 0, SEEK_CUR);
|
|
||||||
lseek (fd, offset, SEEK_SET);
|
|
||||||
ret = read (fd, buf, nbytes);
|
|
||||||
lseek (fd, saved, SEEK_SET);
|
|
||||||
lockit (fd, F_UNLCK);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
pwrite (int fd, const void *buf, size_t nbytes, off_t offset)
|
|
||||||
{
|
|
||||||
off_t saved;
|
|
||||||
ssize_t ret;
|
|
||||||
|
|
||||||
lockit (fd, F_WRLCK);
|
|
||||||
saved = lseek (fd, 0, SEEK_CUR);
|
|
||||||
lseek (fd, offset, SEEK_SET);
|
|
||||||
ret = write (fd, buf, nbytes);
|
|
||||||
lseek (fd, saved, SEEK_SET);
|
|
||||||
lockit (fd, F_UNLCK);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#endif /* __SCO__ */
|
|
||||||
|
|
Loading…
Reference in New Issue