Revision: 14534
Author: adrian.chadd
Date: Sat Apr  3 06:47:46 2010
Log: Issue #94 - migrate a couple of the WIN32_ routines out of src/ and into lib/ so it can be hopefully used by the other libraries and avoid #include "../src/squid.h"
in places.


http://code.google.com/p/lusca-cache/source/detail?r=14534

Modified:
 /branches/LUSCA_HEAD/include/util.h
 /branches/LUSCA_HEAD/lib/win32lib.c
 /branches/LUSCA_HEAD/src/protos.h
 /branches/LUSCA_HEAD/src/win32.c

=======================================
--- /branches/LUSCA_HEAD/include/util.h Mon Jun  1 02:14:51 2009
+++ /branches/LUSCA_HEAD/include/util.h Sat Apr  3 06:47:46 2010
@@ -163,6 +163,8 @@
 extern const char *WIN32_strerror(int);
 extern void WIN32_maperror(unsigned long);
 extern int WIN32_Close_FD_Socket(int);
+extern int WIN32_pipe(int[2]);
+extern int WIN32_getrusage(int, struct rusage *);
 #endif

 #endif /* SQUID_UTIL_H */
=======================================
--- /branches/LUSCA_HEAD/lib/win32lib.c Tue May  6 08:15:30 2008
+++ /branches/LUSCA_HEAD/lib/win32lib.c Sat Apr  3 06:47:46 2010
@@ -790,4 +790,101 @@
     else
        errno = EINVAL;
 }
+
+
+#if defined(_SQUID_MSWIN_)
+
+int
+WIN32_pipe(int handles[2])
+{
+    int new_socket;
+    fde *F = NULL;
+
+    struct sockaddr_in serv_addr;
+    int len = sizeof(serv_addr);
+    u_short handle1_port;
+
+    handles[0] = handles[1] = -1;
+
+    statCounter.syscalls.sock.sockets++;
+    if ((new_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
+       return -1;
+
+    memset((void *) &serv_addr, 0, sizeof(serv_addr));
+    serv_addr.sin_family = AF_INET;
+    serv_addr.sin_port = htons(0);
+    serv_addr.sin_addr = local_addr;
+
+    if (bind(new_socket, (SOCKADDR *) & serv_addr, len) < 0 ||
+ listen(new_socket, 1) < 0 || getsockname(new_socket, (SOCKADDR *) & serv_addr, &len) < 0 ||
+       (handles[1] = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
+       closesocket(new_socket);
+       return -1;
+    }
+    handle1_port = ntohs(serv_addr.sin_port);
+    if (connect(handles[1], (SOCKADDR *) & serv_addr, len) < 0 ||
+       (handles[0] = accept(new_socket, (SOCKADDR *) & serv_addr, &len)) < 0) {
+       closesocket(handles[1]);
+       handles[1] = -1;
+       closesocket(new_socket);
+       return -1;
+    }
+    closesocket(new_socket);
+
+    F = &fd_table[handles[0]];
+    F->local_addr = local_addr;
+    F->local_port = ntohs(serv_addr.sin_port);
+
+    F = &fd_table[handles[1]];
+    F->local_addr = local_addr;
+    xstrncpy(F->ipaddr, inet_ntoa(local_addr), 16);
+    F->remote_port = handle1_port;
+
+    return 0;
+}
+
+int
+WIN32_getrusage(int who, struct rusage *usage)
+{
+#if HAVE_WIN32_PSAPI
+ if ((WIN32_OS_version == _WIN_OS_WINNT) || (WIN32_OS_version == _WIN_OS_WIN2K) + || (WIN32_OS_version == _WIN_OS_WINXP) || (WIN32_OS_version == _WIN_OS_WINNET)) {
+       /* On Windows NT/2000 call PSAPI.DLL for process Memory */
+       /* informations -- Guido Serassio                       */
+       HANDLE hProcess;
+       PROCESS_MEMORY_COUNTERS pmc;
+       hProcess = OpenProcess(PROCESS_QUERY_INFORMATION |
+           PROCESS_VM_READ,
+           FALSE, GetCurrentProcessId());
+       {
+           /* Microsoft CRT doesn't have getrusage function,  */
+           /* so we get process CPU time information from PSAPI.DLL. */
+           FILETIME ftCreate, ftExit, ftKernel, ftUser;
+ if (GetProcessTimes(hProcess, &ftCreate, &ftExit, &ftKernel, &ftUser)) {
+               PFILETIME p_ftUser = &ftUser;
+               PFILETIME p_ftKernel = &ftKernel;
+               int64_t tUser64 = (*(int64_t *) p_ftUser / 10);
+               int64_t tKernel64 = (*(int64_t *) p_ftKernel / 10);
+               usage->ru_utime.tv_sec = (long) (tUser64 / 1000000);
+               usage->ru_stime.tv_sec = (long) (tKernel64 / 1000000);
+               usage->ru_utime.tv_usec = (long) (tUser64 % 1000000);
+               usage->ru_stime.tv_usec = (long) (tKernel64 % 1000000);
+           } else {
+               CloseHandle(hProcess);
+               return -1;
+           }
+       }
+       if (GetProcessMemoryInfo(hProcess, &pmc, sizeof(pmc))) {
+           usage->ru_maxrss = (DWORD) (pmc.WorkingSetSize / getpagesize());
+           usage->ru_majflt = pmc.PageFaultCount;
+       } else {
+           CloseHandle(hProcess);
+           return -1;
+       }
+       CloseHandle(hProcess);
+    }
+#endif
+    return 0;
+}
+
 #endif /* _SQUID_MSWIN_ */
=======================================
--- /branches/LUSCA_HEAD/src/protos.h   Thu Apr  1 23:26:01 2010
+++ /branches/LUSCA_HEAD/src/protos.h   Sat Apr  3 06:47:46 2010
@@ -989,8 +989,6 @@
 extern void WIN32_SetServiceCommandLine(void);
 extern void WIN32_InstallService(void);
 extern void WIN32_RemoveService(void);
-extern int WIN32_pipe(int[2]);
-extern int WIN32_getrusage(int, struct rusage *);
 extern void WIN32_ExceptionHandlerInit(void);
 extern int SquidMain(int, char **);
 #ifdef _SQUID_MSWIN_
=======================================
--- /branches/LUSCA_HEAD/src/win32.c    Sat Mar 20 02:58:36 2010
+++ /branches/LUSCA_HEAD/src/win32.c    Sat Apr  3 06:47:46 2010
@@ -844,99 +844,6 @@

 #if defined(_SQUID_MSWIN_)
 static int s_iInitCount = 0;
-
-int
-WIN32_pipe(int handles[2])
-{
-    int new_socket;
-    fde *F = NULL;
-
-    struct sockaddr_in serv_addr;
-    int len = sizeof(serv_addr);
-    u_short handle1_port;
-
-    handles[0] = handles[1] = -1;
-
-    statCounter.syscalls.sock.sockets++;
-    if ((new_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
-       return -1;
-
-    memset((void *) &serv_addr, 0, sizeof(serv_addr));
-    serv_addr.sin_family = AF_INET;
-    serv_addr.sin_port = htons(0);
-    serv_addr.sin_addr = local_addr;
-
-    if (bind(new_socket, (SOCKADDR *) & serv_addr, len) < 0 ||
- listen(new_socket, 1) < 0 || getsockname(new_socket, (SOCKADDR *) & serv_addr, &len) < 0 ||
-       (handles[1] = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
-       closesocket(new_socket);
-       return -1;
-    }
-    handle1_port = ntohs(serv_addr.sin_port);
-    if (connect(handles[1], (SOCKADDR *) & serv_addr, len) < 0 ||
-       (handles[0] = accept(new_socket, (SOCKADDR *) & serv_addr, &len)) < 0) {
-       closesocket(handles[1]);
-       handles[1] = -1;
-       closesocket(new_socket);
-       return -1;
-    }
-    closesocket(new_socket);
-
-    F = &fd_table[handles[0]];
-    F->local_addr = local_addr;
-    F->local_port = ntohs(serv_addr.sin_port);
-
-    F = &fd_table[handles[1]];
-    F->local_addr = local_addr;
-    xstrncpy(F->ipaddr, inet_ntoa(local_addr), 16);
-    F->remote_port = handle1_port;
-
-    return 0;
-}
-
-int
-WIN32_getrusage(int who, struct rusage *usage)
-{
-#if HAVE_WIN32_PSAPI
- if ((WIN32_OS_version == _WIN_OS_WINNT) || (WIN32_OS_version == _WIN_OS_WIN2K) - || (WIN32_OS_version == _WIN_OS_WINXP) || (WIN32_OS_version == _WIN_OS_WINNET)) {
-       /* On Windows NT/2000 call PSAPI.DLL for process Memory */
-       /* informations -- Guido Serassio                       */
-       HANDLE hProcess;
-       PROCESS_MEMORY_COUNTERS pmc;
-       hProcess = OpenProcess(PROCESS_QUERY_INFORMATION |
-           PROCESS_VM_READ,
-           FALSE, GetCurrentProcessId());
-       {
-           /* Microsoft CRT doesn't have getrusage function,  */
-           /* so we get process CPU time information from PSAPI.DLL. */
-           FILETIME ftCreate, ftExit, ftKernel, ftUser;
- if (GetProcessTimes(hProcess, &ftCreate, &ftExit, &ftKernel, &ftUser)) {
-               PFILETIME p_ftUser = &ftUser;
-               PFILETIME p_ftKernel = &ftKernel;
-               int64_t tUser64 = (*(int64_t *) p_ftUser / 10);
-               int64_t tKernel64 = (*(int64_t *) p_ftKernel / 10);
-               usage->ru_utime.tv_sec = (long) (tUser64 / 1000000);
-               usage->ru_stime.tv_sec = (long) (tKernel64 / 1000000);
-               usage->ru_utime.tv_usec = (long) (tUser64 % 1000000);
-               usage->ru_stime.tv_usec = (long) (tKernel64 % 1000000);
-           } else {
-               CloseHandle(hProcess);
-               return -1;
-           }
-       }
-       if (GetProcessMemoryInfo(hProcess, &pmc, sizeof(pmc))) {
-           usage->ru_maxrss = (DWORD) (pmc.WorkingSetSize / getpagesize());
-           usage->ru_majflt = pmc.PageFaultCount;
-       } else {
-           CloseHandle(hProcess);
-           return -1;
-       }
-       CloseHandle(hProcess);
-    }
-#endif
-    return 0;
-}

 static int
 Win32SockInit(void)

--
You received this message because you are subscribed to the Google Groups 
"lusca-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/lusca-commit?hl=en.

Reply via email to