--------------------- PatchSet 4599 Date: 2002/08/03 18:50:45 Author: serassio Branch: nt-2_5 Tag: (none) Log: Merged awin32 changes from nt Members: port/win32/squid/buildver.h:1.1.2.8->1.1.2.9 src/fs/awin32/aiops.c:1.1.62.7->1.1.62.8 src/fs/awin32/async_io.c:1.1.62.3->1.1.62.4 src/fs/awin32/store_asyncufs.h:1.1.62.4->1.1.62.5 Index: squid/port/win32/squid/buildver.h =================================================================== RCS file: /cvsroot/squid-sf//squid/port/win32/squid/Attic/buildver.h,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -r1.1.2.8 -r1.1.2.9 --- squid/port/win32/squid/buildver.h 22 Jul 2002 16:51:14 -0000 1.1.2.8 +++ squid/port/win32/squid/buildver.h 3 Aug 2002 18:50:45 -0000 1.1.2.9 @@ -1,4 +1,4 @@ -#define FILEVER 2,5,10,1 -#define PRODUCTVER 2,5,10,1 -#define STRFILEVER "2, 5, 10, 1\0" -#define STRPRODUCTVER "2, 5, 10, 1\0" +#define FILEVER 2,5,10,4 +#define PRODUCTVER 2,5,10,4 +#define STRFILEVER "2, 5, 10, 4\0" +#define STRPRODUCTVER "2, 5, 10, 4\0" Index: squid/src/fs/awin32/aiops.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/fs/awin32/Attic/aiops.c,v retrieving revision 1.1.62.7 retrieving revision 1.1.62.8 diff -u -r1.1.62.7 -r1.1.62.8 --- squid/src/fs/awin32/aiops.c 28 Jul 2002 16:25:33 -0000 1.1.62.7 +++ squid/src/fs/awin32/aiops.c 3 Aug 2002 18:50:45 -0000 1.1.62.8 @@ -1,5 +1,5 @@ /* - * $Id: aiops.c,v 1.1.62.7 2002/07/28 16:25:33 serassio Exp $ + * $Id: aiops.c,v 1.1.62.8 2002/08/03 18:50:45 serassio Exp $ * * DEBUG: section 43 AIOPS * AUTHOR: Stewart Forster @@ -338,7 +338,6 @@ { squidaio_thread_t *threadp; int i; - DWORD r = 0; HANDLE hthreads[NUMTHREADS]; if (!squidaio_initialised) @@ -356,8 +355,7 @@ ResetEvent(done_queue.cond); Sleep(0); - r = WaitForMultipleObjects(NUMTHREADS, hthreads, TRUE, 2000); - assert(r >= WAIT_OBJECT_0 && r < WAIT_OBJECT_0 + NUMTHREADS); + WaitForMultipleObjects(NUMTHREADS, hthreads, TRUE, 2000); for (i = 0; i < NUMTHREADS; i++) { CloseHandle(hthreads[i]); } @@ -373,33 +371,6 @@ HANDLE cond; /* local copy of the event queue because win32 event handles * don't atomically release the mutex as cond variables do. */ -#if 0 -/* sigset_t new; */ - /* - * Does WIN32 have this problem? - */ - /* - * Make sure to ignore signals which may possibly get sent to - * the parent squid thread. Causes havoc with mutex's and - * condition waits otherwise - */ - sigemptyset(&new); - sigaddset(&new, SIGPIPE); - sigaddset(&new, SIGCHLD); -#ifdef _SQUID_LINUX_THREADS_ - sigaddset(&new, SIGQUIT); - sigaddset(&new, SIGTRAP); -#else - sigaddset(&new, SIGUSR1); - sigaddset(&new, SIGUSR2); -#endif - sigaddset(&new, SIGHUP); - sigaddset(&new, SIGTERM); - sigaddset(&new, SIGINT); - sigaddset(&new, SIGALRM); - pthread_sigmask(SIG_BLOCK, &new, NULL); -#endif /* 0 */ - /* lock the thread info */ if (WAIT_FAILED == WaitForSingleObject(request_queue.mutex, INFINITE)) { fatal("Can't get ownership of mutex\n"); @@ -1047,3 +1018,22 @@ break; } } + +void +squidaio_stats(StoreEntry * sentry) +{ + squidaio_thread_t *threadp; + int i; + + if (!squidaio_initialised) + return; + + storeAppendPrintf(sentry, "\n\nThreads Status:\n"); + storeAppendPrintf(sentry, "#\tID\t# Requests\n"); + + threadp = threads; + for (i = 0; i < NUMTHREADS; i++) { + storeAppendPrintf(sentry, "%i\t0x%lx\t%d\n", i + 1, threadp->dwThreadId, threadp->requests); + threadp = threadp->next; + } +} Index: squid/src/fs/awin32/async_io.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/fs/awin32/Attic/async_io.c,v retrieving revision 1.1.62.3 retrieving revision 1.1.62.4 diff -u -r1.1.62.3 -r1.1.62.4 --- squid/src/fs/awin32/async_io.c 28 Jul 2002 16:25:34 -0000 1.1.62.3 +++ squid/src/fs/awin32/async_io.c 3 Aug 2002 18:50:45 -0000 1.1.62.4 @@ -1,6 +1,6 @@ /* - * $Id: async_io.c,v 1.1.62.3 2002/07/28 16:25:34 serassio Exp $ + * $Id: async_io.c,v 1.1.62.4 2002/08/03 18:50:45 serassio Exp $ * * DEBUG: section 32 Asynchronous Disk I/O * AUTHOR: Pete Bentley @@ -341,6 +341,7 @@ storeAppendPrintf(sentry, "unlink\t%d\n", squidaio_counts.unlink); storeAppendPrintf(sentry, "check_callback\t%d\n", squidaio_counts.check_callback); storeAppendPrintf(sentry, "queue\t%d\n", squidaio_get_queue_len()); + squidaio_stats(sentry); } /* Flush all pending I/O */ Index: squid/src/fs/awin32/store_asyncufs.h =================================================================== RCS file: /cvsroot/squid-sf//squid/src/fs/awin32/Attic/store_asyncufs.h,v retrieving revision 1.1.62.4 retrieving revision 1.1.62.5 diff -u -r1.1.62.4 -r1.1.62.5 --- squid/src/fs/awin32/store_asyncufs.h 12 May 2002 17:12:09 -0000 1.1.62.4 +++ squid/src/fs/awin32/store_asyncufs.h 3 Aug 2002 18:50:45 -0000 1.1.62.5 @@ -50,6 +50,7 @@ int squidaio_sync(void); int squidaio_get_queue_len(void); void squidaio_shutdown(void); +void squidaio_stats(StoreEntry *); void aioInit(void); void aioDone(void);