diff --git a/src/modules/files/sendfile.c b/src/modules/files/sendfile.c index 5d1221ccb42bafc3d1d57b1c8008176ecc9694ef..f3378fba66a2c59c4c33037993ed13ae24741532 100644 --- a/src/modules/files/sendfile.c +++ b/src/modules/files/sendfile.c @@ -1,5 +1,5 @@ /* - * $Id: sendfile.c,v 1.21 1999/07/24 11:38:49 grubba Exp $ + * $Id: sendfile.c,v 1.22 1999/08/17 14:20:06 grubba Exp $ * * Sends headers + from_fd[off..off+len-1] + trailers to to_fd asyncronously. * @@ -63,7 +63,7 @@ #endif /* HAVE_SYS_MMAN_H */ -/* #define SF_DEBUG */ +#define SF_DEBUG #ifdef SF_DEBUG #define SF_DFPRINTF(X) fprintf X @@ -166,6 +166,8 @@ static void init_pike_sendfile(struct object *o) static void exit_pike_sendfile(struct object *o) { + SF_DFPRINTF((stderr, "sendfile: Exiting...\n")); + if (THIS->iovs) { free(THIS->iovs); } @@ -305,7 +307,7 @@ int send_iov(int fd, struct iovec *iov, int iovcnt) return sent; } -TH_RETURN_TYPE worker(void *this_) +void worker(void *this_) { struct pike_sendfile *this = this_; @@ -892,7 +894,9 @@ static void sf_create(INT32 args) } /* The worker will have a ref. */ - if (th_create_small(&th_id, worker, THIS)) { + th_farm(worker, THIS); +#if 0 + { /* Failure */ sf.to->flags &= ~FILE_LOCK_FD; if (sf.from) { @@ -902,6 +906,7 @@ static void sf_create(INT32 args) resource_error("Stdio.sendfile", sp, 0, "threads", 1, "Failed to create thread.\n"); } +#endif /* 0 */ num_threads++; } return;