mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 23:04:20 +01:00
16e4da265f
git-svn-id: file:///svn/toku/tokudb@9554 c7de825b-a66e-492c-adef-691d508d4ae1
39 lines
780 B
C
39 lines
780 B
C
#include <toku_portability.h>
|
|
#include <unistd.h>
|
|
|
|
static ssize_t (*t_pwrite)(int, const void *, size_t, off_t) = 0;
|
|
|
|
int
|
|
toku_set_func_pwrite (ssize_t (*pwrite_fun)(int, const void *, size_t, off_t)) {
|
|
t_pwrite = pwrite_fun;
|
|
return 0;
|
|
}
|
|
|
|
ssize_t
|
|
toku_os_pwrite (int fd, const void *buf, size_t len, off_t off) {
|
|
if (t_pwrite) {
|
|
return t_pwrite(fd, buf, len, off);
|
|
} else {
|
|
return pwrite(fd, buf, len, off);
|
|
}
|
|
}
|
|
|
|
static ssize_t (*t_write)(int, const void *, size_t) = 0;
|
|
|
|
int
|
|
toku_set_func_write (ssize_t (*write_fun)(int, const void *, size_t)) {
|
|
t_write = write_fun;
|
|
return 0;
|
|
}
|
|
|
|
ssize_t
|
|
toku_os_write (int fd, const void *buf, size_t len) {
|
|
if (t_pwrite) {
|
|
return t_write(fd, buf, len);
|
|
} else {
|
|
return write(fd, buf, len);
|
|
}
|
|
}
|
|
|
|
|
|
|