version 1.13, 2010/07/24 20:11:59 |
version 1.14, 2010/12/20 00:03:55 |
|
|
|
|
cdata = xmalloc(sizeof *cdata); |
cdata = xmalloc(sizeof *cdata); |
cdata->session = s; |
cdata->session = s; |
|
cdata->session->references++; |
cdata->buffer = data->buffer; |
cdata->buffer = data->buffer; |
c->stdin_data = cdata; |
c->stdin_data = cdata; |
c->stdin_callback = cmd_load_buffer_callback; |
c->stdin_callback = cmd_load_buffer_callback; |
|
|
char *pdata; |
char *pdata; |
size_t psize; |
size_t psize; |
u_int limit; |
u_int limit; |
int idx; |
|
|
|
/* |
/* |
* Event callback has already checked client is not dead and reduced |
* Event callback has already checked client is not dead and reduced |
|
|
c->flags |= CLIENT_EXIT; |
c->flags |= CLIENT_EXIT; |
|
|
/* Does the target session still exist? */ |
/* Does the target session still exist? */ |
if (session_index(s, &idx) != 0) |
if (!session_alive(s)) |
goto out; |
goto out; |
|
|
psize = EVBUFFER_LENGTH(c->stdin_event->input); |
psize = EVBUFFER_LENGTH(c->stdin_event->input); |
|
|
} |
} |
|
|
out: |
out: |
|
cdata->session->references--; |
xfree(cdata); |
xfree(cdata); |
} |
} |