diff --git a/src/modules/Pipe/pipe.c b/src/modules/Pipe/pipe.c index bf8e5f7a4f46d83b0f366d82c23b17eca7550e1c..38a53903d8e0ea028c3fb9cc46d06e9c4f0c2f70 100644 --- a/src/modules/Pipe/pipe.c +++ b/src/modules/Pipe/pipe.c @@ -30,7 +30,7 @@ #include <fcntl.h> -RCSID("$Id: pipe.c,v 1.42 2000/08/19 11:18:12 grubba Exp $"); +RCSID("$Id: pipe.c,v 1.43 2000/08/28 22:13:09 hubbe Exp $"); #include "threads.h" #include "stralloc.h" @@ -220,6 +220,8 @@ static INLINE struct input *new_input(void) /* Free an input struct and all that it stands for */ static INLINE void free_input(struct input *i) { + debug_malloc_touch(i); + ninputs--; switch (i->type) { @@ -300,6 +302,8 @@ static INLINE int append_buffer(struct pike_string *s) { struct buffer *b; + debug_malloc_touch(s); + if(THIS->fd!= -1) { fd_lseek(THIS->fd, THIS->pos, SEEK_SET); @@ -576,6 +580,8 @@ static INLINE void output_finish(struct object *obj) struct output *o, *oi; struct object *obji; + debug_malloc_touch(obj); + o=(struct output *)(obj->storage); if (o->obj) @@ -629,6 +635,8 @@ static INLINE void output_try_write_some(struct object *obj) size_t len; INT_TYPE ret; + debug_malloc_touch(obj); + out=(struct output*)(obj->storage); #ifdef INSISTANT_WRITE @@ -944,7 +952,7 @@ static void pipe_output(INT32 args) else o->pos=THIS->pos; - ref_push_object(obj); + push_object(obj); /* Ok, David, this is probably correct, but I dare you to explain why :) */ apply(o->obj,"set_id",1); pop_stack(); @@ -1032,6 +1040,7 @@ static void pipe_write_output_callback(INT32 args) if(sp[-args].u.object->prog != output_program) error("Illegal argument to pipe->write_output_callback\n"); + debug_malloc_touch(sp[-args].u.object); output_try_write_some(sp[-args].u.object); pop_n_elems(args-1); } @@ -1133,6 +1142,9 @@ void close_and_free_everything(struct object *thisobj,struct pipe *p) struct input *i; struct output *o; struct object *obj; + + debug_malloc_touch(thisobj); + debug_malloc_touch(p); if(p->done){ return; @@ -1195,6 +1207,8 @@ void close_and_free_everything(struct object *thisobj,struct pipe *p) static void init_pipe_struct(struct object *o) { + debug_malloc_touch(o); + THIS->firstbuffer=THIS->lastbuffer=NULL; THIS->firstinput=THIS->lastinput=NULL; THIS->firstoutput=NULL; @@ -1220,7 +1234,9 @@ static void exit_output_struct(struct object *obj) { struct output *o; + debug_malloc_touch(obj); o=(struct output *)(Pike_fp->current_storage); + if (o->obj) { if(o->obj->prog) @@ -1249,6 +1265,7 @@ static void exit_output_struct(struct object *obj) static void init_output_struct(struct object *ob) { struct output *o; + debug_malloc_touch(ob); o=(struct output *)(Pike_fp->current_storage); o->obj=0; }