InputStream: store references instead of pointers

This commit is contained in:
Max Kellermann
2013-01-28 23:35:01 +01:00
parent dcf55c7e32
commit cffc78ad6a
8 changed files with 67 additions and 97 deletions

View File

@@ -462,12 +462,12 @@ input_curl_abort_all_requests(GError *error)
input_curl_easy_free(c);
const ScopeLock protect(*c->base.mutex);
const ScopeLock protect(c->base.mutex);
c->postponed_error = g_error_copy(error);
c->base.ready = true;
c->base.cond->broadcast();
c->base.cond.broadcast();
}
g_error_free(error);
@@ -487,7 +487,7 @@ input_curl_request_done(struct input_curl *c, CURLcode result, long status)
assert(c->easy == NULL);
assert(c->postponed_error == NULL);
const ScopeLock protect(*c->base.mutex);
const ScopeLock protect(c->base.mutex);
if (result != CURLE_OK) {
c->postponed_error = g_error_new(curl_quark(), result,
@@ -501,7 +501,7 @@ input_curl_request_done(struct input_curl *c, CURLcode result, long status)
c->base.ready = true;
c->base.cond->broadcast();
c->base.cond.broadcast();
}
static void
@@ -735,7 +735,7 @@ static bool
fill_buffer(struct input_curl *c, GError **error_r)
{
while (c->easy != NULL && c->buffers.empty())
c->base.cond->wait(*c->base.mutex);
c->base.cond.wait(c->base.mutex);
if (c->postponed_error != NULL) {
g_propagate_error(error_r, c->postponed_error);
@@ -855,9 +855,9 @@ input_curl_read(struct input_stream *is, void *ptr, size_t size,
is->offset += (goffset)nbytes;
if (c->paused && curl_total_buffer_size(c) < CURL_RESUME_AT) {
c->base.mutex->unlock();
c->base.mutex.unlock();
io_thread_call(input_curl_resume, c);
c->base.mutex->lock();
c->base.mutex.lock();
}
return nbytes;
@@ -974,7 +974,7 @@ input_curl_writefunction(void *ptr, size_t size, size_t nmemb, void *stream)
if (size == 0)
return 0;
const ScopeLock protect(*c->base.mutex);
const ScopeLock protect(c->base.mutex);
if (curl_total_buffer_size(c) + size >= CURL_MAX_BUFFERED) {
c->paused = true;
@@ -984,7 +984,7 @@ input_curl_writefunction(void *ptr, size_t size, size_t nmemb, void *stream)
c->buffers.emplace_back(ptr, size);
c->base.ready = true;
c->base.cond->broadcast();
c->base.cond.broadcast();
return size;
}
@@ -1108,7 +1108,7 @@ input_curl_seek(struct input_stream *is, goffset offset, int whence,
/* close the old connection and open a new one */
c->base.mutex->unlock();
c->base.mutex.unlock();
input_curl_easy_free_indirect(c);
c->buffers.clear();
@@ -1137,10 +1137,10 @@ input_curl_seek(struct input_stream *is, goffset offset, int whence,
if (!input_curl_easy_add_indirect(c, error_r))
return false;
c->base.mutex->lock();
c->base.mutex.lock();
while (!c->base.ready)
c->base.cond->wait(*c->base.mutex);
c->base.cond.wait(c->base.mutex);
if (c->postponed_error != NULL) {
g_propagate_error(error_r, c->postponed_error);