diff options
-rw-r--r-- | content/fetchers/httplib_kolibri.c | 67 | ||||
-rw-r--r-- | desktop/options.h | 2 | ||||
-rw-r--r-- | frontends/kolibrios/Makefile | 2 |
3 files changed, 62 insertions, 9 deletions
diff --git a/content/fetchers/httplib_kolibri.c b/content/fetchers/httplib_kolibri.c index 28c3ec88d..9036ee28e 100644 --- a/content/fetchers/httplib_kolibri.c +++ b/content/fetchers/httplib_kolibri.c @@ -13,6 +13,8 @@ #include "content/fetchers/httplib_kolibri.h" #include "frontends/kolibrios/kolibri_http.h" +#include <assert.h> + struct httpfetcher { struct http_msg *handle; struct fetch *owner; @@ -27,37 +29,68 @@ struct httpfetcher *head = NULL; void add_to_poll(struct httpfetcher *newfetcher) { - NSLOG(fetch, DEBUG, "(head:0x%x) newfetcher 0x%x, newfetcher->handle 0x%x", head, newfetcher, newfetcher->handle); + NSLOG(fetch, ERROR, "(head:0x%x) newfetcher 0x%x, newfetcher->handle 0x%x", head, newfetcher, newfetcher->handle); struct httpfetcher *t = head; - assert(newfetcher->next == NULL); + while(t) { + NSLOG(fetch, ERROR, "ll node = 0x%x", t); + t=t->next; + } if(head == NULL) { head = newfetcher; assert(head->next == NULL); + NSLOG(fetch, ERROR, "(head:0x%x) ADDED newfetcher 0x%x, newfetcher->handle 0x%x", head, head, head->handle); } else { + t = head; + while(t->next != NULL) { + NSLOG(fetch, ERROR, "-- Looping t 0x%x, t->handle 0x%x", t->next, t->next->handle); t = t->next; } t->next = newfetcher; + NSLOG(fetch, ERROR, "(head:0x%x) ADDED newfetcher 0x%x, newfetcher->handle 0x%x, nn 0x%x", head, t->next, t->next->handle, t->next->next); + } + + struct httpfetcher *xx = head; + while(xx) { + NSLOG(fetch, ERROR, "ll node = 0x%x", xx); + xx=xx->next; } } struct httpfetcher* remove_from_poll(struct httpfetcher *removee) { struct httpfetcher *t = head, *p = head; - NSLOG(fetch, DEBUG, "(head=0x%x), remove: 0x%x , removee->handle: 0x%x", head, removee, removee->handle); + NSLOG(fetch, ERROR, "(head=0x%x), remove: 0x%x , removee->handle: 0x%x", head, removee, removee->handle); while(t) { + NSLOG(fetch, ERROR, "BEFORE REMOVE ll node = 0x%x", t); + t=t->next; + } + + t = head; + while(t) { if (t == removee) { if(t == head) { p = t->next; head = p; + + struct httpfetcher *xx = head; + while(xx) { + NSLOG(fetch, ERROR, "ll node = 0x%x", xx); + xx=xx->next; + } return head; break; } else { p->next = t->next; + struct httpfetcher *xx = head; + while(xx) { + NSLOG(fetch, ERROR, "ll node = 0x%x", xx); + xx=xx->next; + } return t->next; break; } @@ -261,22 +294,31 @@ void *setup_fetch(struct fetch *parent_fetch, struct nsurl *url, } bool start_fetch(void *httpf) { - NSLOG(fetch, DEBUG, "start_fetch : httpf: 0x%x", httpf); + assert(((struct httpfetcher *)httpf)->owner != NULL); + + NSLOG(fetch, ERROR, "httpf: 0x%x", httpf); add_to_poll((struct httpfetcher *) httpf); + + struct httpfetcher *wrapper = httpf; + + assert(((struct httpfetcher *)httpf)->owner != NULL); + + NSLOG(fetch, ERROR, "END OF add_to_poll: httpf: 0x%x, httpf->handle 0x%x, httpf->next 0x%x", wrapper, wrapper->handle, *wrapper ); return true; } bool abort_fetch(void *httpf) { - NSLOG(fetch, DEBUG, "aborting fetch 0x%x,", ((struct httpfetcher *)httpf)->owner); - remove_from_poll((struct httpfetcher *) httpf); + NSLOG(fetch, ERROR, "aborting fetch 0x%x,", ((struct httpfetcher *)httpf)->owner); + + // remove_from_poll((struct httpfetcher *) httpf); fetch_remove_from_queues(((struct httpfetcher *)httpf)->owner); fetch_free(((struct httpfetcher *)httpf)->owner); return true; } bool free_fetch(void *httpf) { - NSLOG(fetch, DEBUG, "free_fetch fetch 0x%x", ((struct httpfetcher *)httpf)->owner); + NSLOG(fetch, ERROR, "free_fetch fetch 0x%x", ((struct httpfetcher *)httpf)->owner); http_disconnect_asm((((struct httpfetcher *)httpf)->handle)); http_free_asm((((struct httpfetcher *)httpf)->handle)); @@ -302,6 +344,13 @@ void poll_fetch(lwc_string *scheme) { NSLOG(fetch, DEBUG, "--- Content Length (received / total): %d / %d", t->handle->content_received, t->handle->content_length); NSLOG(fetch, DEBUG, "--- ^ was for url : %s", nsurl_access(t->url)); + struct httpfetcher *xx = head; + while(xx) { + NSLOG(fetch, ERROR, "ll node poller = 0x%x", xx); + xx=xx->next; + } + NSLOG(fetch, ERROR, "ll node poller breakage --"); + int ret = http_receive_asm(t->handle); if(t->handle->flags & HTTP_ERRORS) { @@ -357,8 +406,9 @@ void poll_fetch(lwc_string *scheme) { if(t->handle->status == 304) { fetch_msg msg; msg.type = FETCH_NOTMODIFIED; + struct httpfetcher *t2 = remove_from_poll(t); fetch_send_callback(&msg, t->owner); - t = remove_from_poll(t); + t = t2; continue; } else { @@ -378,6 +428,7 @@ void poll_fetch(lwc_string *scheme) { fetch_send_callback(&msg, t->owner); t->headercbdone = true; t = t2; + NSLOG(fetch, INFO, "---- DID [3xx] : Redirect to %s", msg.data.redirect); /* t = t->next; */ /* t = head; */ continue; diff --git a/desktop/options.h b/desktop/options.h index 9b7064efa..6e98af624 100644 --- a/desktop/options.h +++ b/desktop/options.h @@ -293,4 +293,4 @@ NSOPTION_COLOUR(sys_colour_WindowText, 0x00000000) /** Filter for non-verbose logging */ NSOPTION_STRING(log_filter, "level:WARNING") /** Filter for verbose logging */ -NSOPTION_STRING(verbose_filter, "level:VERBOSE") +NSOPTION_STRING(verbose_filter, "level:ERROR") diff --git a/frontends/kolibrios/Makefile b/frontends/kolibrios/Makefile index 3f08a12ac..bb5695f37 100644 --- a/frontends/kolibrios/Makefile +++ b/frontends/kolibrios/Makefile @@ -38,6 +38,8 @@ CFLAGS += '-DNETSURF_FB_FONT_FANTASY="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"' CFLAGS += '-DWITH_NSLOG' +CFLAGS += '-w' + ######################################################################### KOLIBRI_IMAGE_left_arrow := $(FRONTEND_SOURCE_DIR)/res/icons/back.png |