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);
|
||||
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
Block a user