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:
Mikhail Gusarov 2010-06-12 00:53:38 +07:00
parent 9120e58556
commit 2e15f1903d

View File

@ -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__ */