version 1.158, 2002/01/09 17:26:35 |
version 1.159, 2002/01/14 13:55:55 |
|
|
|
|
/* Do initial allocation if this is the first call. */ |
/* Do initial allocation if this is the first call. */ |
if (channels_alloc == 0) { |
if (channels_alloc == 0) { |
chan_init(); |
|
channels_alloc = 10; |
channels_alloc = 10; |
channels = xmalloc(channels_alloc * sizeof(Channel *)); |
channels = xmalloc(channels_alloc * sizeof(Channel *)); |
for (i = 0; i < channels_alloc; i++) |
for (i = 0; i < channels_alloc; i++) |
|
|
buffer_init(&c->input); |
buffer_init(&c->input); |
buffer_init(&c->output); |
buffer_init(&c->output); |
buffer_init(&c->extended); |
buffer_init(&c->extended); |
chan_init_iostates(c); |
c->ostate = CHAN_OUTPUT_OPEN; |
|
c->istate = CHAN_INPUT_OPEN; |
|
c->flags = 0; |
channel_register_fds(c, rfd, wfd, efd, extusage, nonblock); |
channel_register_fds(c, rfd, wfd, efd, extusage, nonblock); |
c->self = found; |
c->self = found; |
c->type = type; |
c->type = type; |