Commit ea63b1bd authored by Stefan Eissing's avatar Stefan Eissing
Browse files

merged race condition fix and versoin bump from trunk

parent 7f7bb89c
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ h2_io *h2_io_create(int id, apr_pool_t *pool, apr_bucket_alloc_t *bucket_alloc)
        io->pool = pool;
        io->bbin = NULL;
        io->bbout = apr_brigade_create(pool, bucket_alloc);
        io->response = apr_pcalloc(pool, sizeof(h2_response));
    }
    return io;
}
+5 −1
Original line number Diff line number Diff line
@@ -281,6 +281,7 @@ static void stream_destroy(h2_mplx *m, h2_stream *stream, h2_io *io)
         * file handle pool. */
        m->file_handles_allowed += io->files_handles_owned;
        h2_io_set_remove(m->stream_ios, io);
        h2_io_set_remove(m->ready_ios, io);
        h2_io_destroy(io);
    }
}
@@ -492,6 +493,8 @@ h2_stream *h2_mplx_next_submit(h2_mplx *m, h2_stream_set *streams)
        h2_io *io = h2_io_set_get_highest_prio(m->ready_ios);
        if (io) {
            h2_response *response = io->response;
            
            AP_DEBUG_ASSERT(response);
            h2_io_set_remove(m->ready_ios, io);
            
            stream = h2_stream_set_get(streams, response->stream_id);
@@ -564,6 +567,7 @@ static apr_status_t out_open(h2_mplx *m, int stream_id, h2_response *response,
        }
        
        io->response = h2_response_copy(io->pool, response);
        AP_DEBUG_ASSERT(io->response);
        h2_io_set_add(m->ready_ios, io);
        if (bb) {
            status = out_write(m, io, f, bb, iowait);
@@ -641,7 +645,7 @@ apr_status_t h2_mplx_out_close(h2_mplx *m, int stream_id)
        if (!m->aborted) {
            h2_io *io = h2_io_set_get(m->stream_ios, stream_id);
            if (io) {
                if (!io->response->ngheader) {
                if (!io->response || !io->response->ngheader) {
                    /* In case a close comes before a response was created,
                     * insert an error one so that our streams can properly
                     * reset.
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
 * @macro
 * Version number of the h2 module as c string
 */
#define MOD_H2_VERSION "0.9.7"
#define MOD_H2_VERSION "0.9.9"

/**
 * @macro
@@ -28,7 +28,7 @@
 * release. This is a 24 bit number with 8 bits for major number, 8 bits
 * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
 */
#define MOD_H2_VERSION_NUM 0x000907
#define MOD_H2_VERSION_NUM 0x000909


#endif /* mod_h2_h2_version_h */