From: Ian Jackson Date: Sat, 15 May 2010 00:48:36 +0000 (+0100) Subject: debugging for thing that crashed X-Git-Tag: innduct-0.1~23 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=innduct.git;a=commitdiff_plain;h=ac902a8299ff4469b356836f431ead31c3377377 debugging for thing that crashed --- diff --git a/backends/innduct.c b/backends/innduct.c index 3c746c3..445157d 100644 --- a/backends/innduct.c +++ b/backends/innduct.c @@ -2206,10 +2206,12 @@ static void *tailing_rable_call_time(oop_source *loop, struct timeval tv, * on_cancel which will cancel this callback */ InputFile *ipf= user; + dbg("**TRACT** ipf=%p called",ipf); if (!ipf->fake_readable) return OOP_CONTINUE; /* we just keep calling readable until our caller (oop_rd) * has called try_read, and try_read has found EOF so given EAGAIN */ + dbg("**TRACT** ipf=%p reschedule",ipf); loop->on_time(loop, OOP_TIME_NOW, tailing_rable_call_time, ipf); return ipf->readable_callback(loop, &ipf->readable, @@ -2218,13 +2220,17 @@ static void *tailing_rable_call_time(oop_source *loop, struct timeval tv, static void tailing_on_cancel(struct oop_readable *rable) { InputFile *ipf= (void*)rable; + dbg("**TOR** ipf=%p on_cancel",ipf); if (ipf->filemon) filemon_stop(ipf); + dbg("**TRACT** ipf=%p cancel",ipf); loop->cancel_time(loop, OOP_TIME_NOW, tailing_rable_call_time, ipf); ipf->readable_callback= 0; } static void tailing_make_readable(InputFile *ipf) { + dbg("**TRACT** ipf=%p makereadable rcb=%p",ipf, + (void*)ipf?ipf->readable_callback:0); if (!ipf || !ipf->readable_callback) /* so callers can be naive */ return; ipf->fake_readable= 1; @@ -2234,6 +2240,7 @@ static void tailing_make_readable(InputFile *ipf) { static int tailing_on_readable(struct oop_readable *rable, oop_readable_call *cb, void *user) { InputFile *ipf= (void*)rable; + dbg("**TOR** ipf=%p on_readable",ipf); tailing_on_cancel(rable); ipf->readable_callback= cb; @@ -2267,6 +2274,7 @@ static ssize_t tailing_try_read(struct oop_readable *rable, void *buffer, abort(); } } + dbg("**TOR** ipf=%p try_read r=%d",ipf,r); return r; } }