src/server/util/io.c

changeset 46
636e05eb48f6
parent 44
3da1f7b6847f
child 54
3a1d5a52adfc
equal deleted inserted replaced
45:a24aa388f02f 46:636e05eb48f6
48 net_stream_write, 48 net_stream_write,
49 net_stream_read 49 net_stream_read
50 }; 50 };
51 51
52 52
53 IOStream* stream_new_from_fd(int fd) { 53 IOStream* stream_new_from_fd(pool_handle_t *pool, int fd) {
54 SystemIOStream *st = malloc(sizeof(SystemIOStream)); 54 SystemIOStream *st = pool_malloc(pool, sizeof(SystemIOStream));
55 st->st = native_io_funcs; 55 st->st = native_io_funcs;
56 st->fd = fd; 56 st->fd = fd;
57 return (IOStream*)st; 57 return (IOStream*)st;
58 } 58 }
59 59
64 ssize_t system_read(IOStream *st, void *buf, size_t nbytes) { 64 ssize_t system_read(IOStream *st, void *buf, size_t nbytes) {
65 return read(((SystemIOStream*)st)->fd, buf, nbytes); 65 return read(((SystemIOStream*)st)->fd, buf, nbytes);
66 } 66 }
67 67
68 68
69 IOStream* net_stream_from_fd(int fd) { 69 IOStream* net_stream_from_fd(pool_handle_t *pool, int fd) {
70 NetIOStream *st = malloc(sizeof(NetIOStream)); 70 NetIOStream *st = pool_malloc(pool, sizeof(NetIOStream));
71 st->st = net_io_funcs; 71 st->st = net_io_funcs;
72 st->fd = fd; 72 st->fd = fd;
73 st->max_read = 0; 73 st->max_read = 0;
74 st->rd = 0; 74 st->rd = 0;
75 return (IOStream*)st; 75 return (IOStream*)st;

mercurial