Compare commits
2 Commits
850aea7a5d
...
b033a4fcb4
Author | SHA1 | Date | |
---|---|---|---|
b033a4fcb4 | |||
140a3c9018 |
@ -506,6 +506,7 @@ void li_iostream_acquire(liIOStream* iostream) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void li_iostream_release(liIOStream* iostream) {
|
void li_iostream_release(liIOStream* iostream) {
|
||||||
|
if (iostream == NULL) return;
|
||||||
li_stream_release(&iostream->stream_in);
|
li_stream_release(&iostream->stream_in);
|
||||||
li_stream_release(&iostream->stream_out);
|
li_stream_release(&iostream->stream_out);
|
||||||
}
|
}
|
||||||
@ -526,8 +527,6 @@ int li_iostream_reset(liIOStream *iostream) {
|
|||||||
li_stream_disconnect(&iostream->stream_out);
|
li_stream_disconnect(&iostream->stream_out);
|
||||||
li_stream_disconnect_dest(&iostream->stream_in);
|
li_stream_disconnect_dest(&iostream->stream_in);
|
||||||
|
|
||||||
li_iostream_release(iostream);
|
|
||||||
|
|
||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,6 @@ void li_stream_simple_socket_close(liIOStream *stream, gboolean aborted) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (aborted || stream->in_closed) {
|
if (aborted || stream->in_closed) {
|
||||||
li_iostream_acquire(stream);
|
|
||||||
fd = li_iostream_reset(stream);
|
fd = li_iostream_reset(stream);
|
||||||
if (-1 != fd) {
|
if (-1 != fd) {
|
||||||
shutdown(fd, SHUT_RDWR);
|
shutdown(fd, SHUT_RDWR);
|
||||||
|
@ -200,6 +200,7 @@ static void backend_close(liBackendPool *bpool, liWorker *wrk, liBackendConnecti
|
|||||||
li_stream_simple_socket_close(ctx->iostream, FALSE);
|
li_stream_simple_socket_close(ctx->iostream, FALSE);
|
||||||
fd = li_iostream_reset(ctx->iostream);
|
fd = li_iostream_reset(ctx->iostream);
|
||||||
LI_FORCE_ASSERT(-1 == fd);
|
LI_FORCE_ASSERT(-1 == fd);
|
||||||
|
li_iostream_release(ctx->iostream);
|
||||||
ctx->iostream = NULL;
|
ctx->iostream = NULL;
|
||||||
}
|
}
|
||||||
li_stream_reset(&ctx->fcgi_in);
|
li_stream_reset(&ctx->fcgi_in);
|
||||||
@ -281,6 +282,7 @@ static void fastcgi_reset(liFastCGIBackendContext *ctx) {
|
|||||||
li_stream_simple_socket_close(iostream, TRUE);
|
li_stream_simple_socket_close(iostream, TRUE);
|
||||||
fd = li_iostream_reset(iostream);
|
fd = li_iostream_reset(iostream);
|
||||||
LI_FORCE_ASSERT(-1 == fd);
|
LI_FORCE_ASSERT(-1 == fd);
|
||||||
|
li_iostream_release(iostream);
|
||||||
|
|
||||||
li_stream_disconnect(&ctx->fcgi_out);
|
li_stream_disconnect(&ctx->fcgi_out);
|
||||||
li_stream_disconnect_dest(&ctx->fcgi_in);
|
li_stream_disconnect_dest(&ctx->fcgi_in);
|
||||||
|
@ -213,6 +213,7 @@ static gboolean openssl_con_new(liConnection *con, int fd) {
|
|||||||
ERROR(srv, "SSL_new: %s", ERR_error_string(ERR_get_error(), NULL));
|
ERROR(srv, "SSL_new: %s", ERR_error_string(ERR_get_error(), NULL));
|
||||||
fd = li_iostream_reset(conctx->sock_stream);
|
fd = li_iostream_reset(conctx->sock_stream);
|
||||||
close(fd);
|
close(fd);
|
||||||
|
li_iostream_release(conctx->sock_stream);
|
||||||
g_slice_free(openssl_connection_ctx, conctx);
|
g_slice_free(openssl_connection_ctx, conctx);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@ class Test(GroupTest):
|
|||||||
TestDirlist,
|
TestDirlist,
|
||||||
TestRedirectDir,
|
TestRedirectDir,
|
||||||
TestRedirectDirWithQuery,
|
TestRedirectDirWithQuery,
|
||||||
|
TestRedirectDirWithQueryAndSpecialChars,
|
||||||
]
|
]
|
||||||
|
|
||||||
config = """
|
config = """
|
||||||
|
Loading…
Reference in New Issue
Block a user