From: Allan K. Edwards Date: Wed, 22 Sep 2004 18:21:30 +0000 (+0000) Subject: WIN64: first in a series to get Windows IA64 builds clean, this serves pages X-Git-Tag: 2.1.1~217 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ba4d90841042d051eac5a529723b83ecbf06dcd1;p=thirdparty%2Fapache%2Fhttpd.git WIN64: first in a series to get Windows IA64 builds clean, this serves pages git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105257 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/os/win32/ap_regkey.c b/os/win32/ap_regkey.c index a351391ff7d..d19f619ad7b 100644 --- a/os/win32/ap_regkey.c +++ b/os/win32/ap_regkey.c @@ -185,7 +185,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_get(char **result, */ LONG rc; DWORD type; - DWORD size = 0; + apr_size_t size = 0; #if APR_HAS_UNICODE_FS IF_WIN_OS_IS_UNICODE @@ -201,7 +201,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_get(char **result, else if (valuelen) return APR_ENAMETOOLONG; /* Read to NULL buffer to determine value size */ - rc = RegQueryValueExW(key->hkey, wvalname, 0, &type, NULL, &size); + rc = RegQueryValueExW(key->hkey, wvalname, 0, &type, NULL, (DWORD *)&size); if (rc != ERROR_SUCCESS) { return APR_FROM_OS_ERROR(rc); } @@ -212,7 +212,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_get(char **result, wvalue = apr_palloc(pool, size); /* Read value based on size query above */ rc = RegQueryValueExW(key->hkey, wvalname, 0, &type, - (LPBYTE)wvalue, &size); + (LPBYTE)wvalue, (DWORD *)&size); if (rc != ERROR_SUCCESS) { return APR_FROM_OS_ERROR(rc); } @@ -223,7 +223,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_get(char **result, apr_wchar_t *tmp = wvalue; /* The size returned by ExpandEnvironmentStringsW is wchars */ wvalue = apr_palloc(pool, size * 2); - size = ExpandEnvironmentStringsW(tmp, wvalue, size); + size = ExpandEnvironmentStringsW(tmp, wvalue, (DWORD)size); } } else { @@ -247,7 +247,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_get(char **result, ELSE_WIN_OS_IS_ANSI { /* Read to NULL buffer to determine value size */ - rc = RegQueryValueEx(key->hkey, valuename, 0, &type, NULL, &size); + rc = RegQueryValueEx(key->hkey, valuename, 0, &type, NULL, (DWORD *)&size); if (rc != ERROR_SUCCESS) return APR_FROM_OS_ERROR(rc); @@ -257,7 +257,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_get(char **result, *result = apr_palloc(pool, size); /* Read value based on size query above */ - rc = RegQueryValueEx(key->hkey, valuename, 0, &type, *result, &size); + rc = RegQueryValueEx(key->hkey, valuename, 0, &type, *result, (DWORD *)&size); if (rc != ERROR_SUCCESS) return APR_FROM_OS_ERROR(rc); @@ -270,7 +270,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_get(char **result, if (size) { char *tmp = *result; *result = apr_palloc(pool, size); - size = ExpandEnvironmentStrings(tmp, *result, size); + size = ExpandEnvironmentStrings(tmp, *result, (DWORD)size); } } } @@ -289,7 +289,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_set(ap_regkey_t *key, * that the system has configured (e.g. %SystemRoot%/someapp.exe) */ LONG rc; - DWORD size = strlen(value) + 1; + apr_size_t size = strlen(value) + 1; DWORD type = (flags & AP_REGKEY_EXPAND) ? REG_EXPAND_SZ : REG_SZ; #if APR_HAS_UNICODE_FS @@ -320,7 +320,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_set(ap_regkey_t *key, */ size = (alloclen - wvallen) * 2; rc = RegSetValueExW(key->hkey, wvalname, 0, type, - (LPBYTE)wvalue, size); + (LPBYTE)wvalue, (DWORD)size); if (rc != ERROR_SUCCESS) return APR_FROM_OS_ERROR(rc); } @@ -328,7 +328,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_set(ap_regkey_t *key, #if APR_HAS_ANSI_FS ELSE_WIN_OS_IS_ANSI { - rc = RegSetValueEx(key->hkey, valuename, 0, type, value, size); + rc = RegSetValueEx(key->hkey, valuename, 0, type, value, (DWORD)size); if (rc != ERROR_SUCCESS) return APR_FROM_OS_ERROR(rc); } @@ -363,7 +363,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_raw_get(void **result, return APR_ENAMETOOLONG; /* Read to NULL buffer to determine value size */ rc = RegQueryValueExW(key->hkey, wvalname, 0, resulttype, - NULL, resultsize); + NULL, (LPDWORD)resultsize); if (rc != ERROR_SUCCESS) { return APR_FROM_OS_ERROR(rc); } @@ -371,7 +371,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_raw_get(void **result, /* Read value based on size query above */ *result = apr_palloc(pool, *resultsize); rc = RegQueryValueExW(key->hkey, wvalname, 0, resulttype, - (LPBYTE)*result, resultsize); + (LPBYTE)*result, (LPDWORD)resultsize); } #endif /* APR_HAS_UNICODE_FS */ #if APR_HAS_ANSI_FS @@ -379,14 +379,14 @@ AP_DECLARE(apr_status_t) ap_regkey_value_raw_get(void **result, { /* Read to NULL buffer to determine value size */ rc = RegQueryValueEx(key->hkey, valuename, 0, resulttype, - NULL, resultsize); + NULL, (LPDWORD)resultsize); if (rc != ERROR_SUCCESS) return APR_FROM_OS_ERROR(rc); /* Read value based on size query above */ *result = apr_palloc(pool, *resultsize); rc = RegQueryValueEx(key->hkey, valuename, 0, resulttype, - (LPBYTE)*result, resultsize); + (LPBYTE)*result, (LPDWORD)resultsize); if (rc != ERROR_SUCCESS) return APR_FROM_OS_ERROR(rc); } @@ -422,14 +422,14 @@ AP_DECLARE(apr_status_t) ap_regkey_value_raw_set(ap_regkey_t *key, return APR_ENAMETOOLONG; rc = RegSetValueExW(key->hkey, wvalname, 0, valuetype, - (LPBYTE)value, valuesize); + (LPBYTE)value, (DWORD)valuesize); } #endif /* APR_HAS_UNICODE_FS */ #if APR_HAS_ANSI_FS ELSE_WIN_OS_IS_ANSI { rc = RegSetValueEx(key->hkey, valuename, 0, valuetype, - (LPBYTE)value, valuesize); + (LPBYTE)value, (DWORD)valuesize); } #endif if (rc != ERROR_SUCCESS) { @@ -452,7 +452,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_array_get(apr_array_header_t **result, char *buf; char *tmp; DWORD type; - DWORD size = 0; + apr_size_t size = 0; rv = ap_regkey_value_raw_get(&value, &size, &type, key, valuename, pool); if (rv != APR_SUCCESS) { @@ -510,7 +510,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_array_get(apr_array_header_t **result, } } - *result = apr_array_make(pool, size, sizeof(char *)); + *result = apr_array_make(pool, (int)size, sizeof(char *)); for (tmp = buf; *tmp; ++tmp) { char **newelem = (char **) apr_array_push(*result); *newelem = tmp; diff --git a/server/core.c b/server/core.c index 1e5a34ad916..1fe2cce3c59 100644 --- a/server/core.c +++ b/server/core.c @@ -2298,7 +2298,7 @@ static const char *set_serverpath(cmd_parms *cmd, void *dummy, } cmd->server->path = arg; - cmd->server->pathlen = strlen(arg); + cmd->server->pathlen = (int)strlen(arg); return NULL; } @@ -3156,7 +3156,7 @@ static apr_status_t emulate_sendfile(core_net_rec *c, apr_file_t *fd, apr_size_t length, apr_size_t *nbytes) { apr_status_t rv = APR_SUCCESS; - apr_int32_t togo; /* Remaining number of bytes in the file to send */ + apr_size_t togo; /* Remaining number of bytes in the file to send */ apr_size_t sendlen = 0; apr_size_t bytes_sent; apr_int32_t i; diff --git a/server/mpm/winnt/child.c b/server/mpm/winnt/child.c index ea9976cf799..71cba50dc40 100644 --- a/server/mpm/winnt/child.c +++ b/server/mpm/winnt/child.c @@ -684,8 +684,12 @@ static PCOMP_CONTEXT winnt_get_connection(PCOMP_CONTEXT context) { int rc; DWORD BytesRead; - DWORD CompKey; LPOVERLAPPED pol; +#ifdef _WIN64 + ULONG_PTR CompKey; +#else + DWORD CompKey; +#endif mpm_recycle_completion_context(context); @@ -728,10 +732,11 @@ static PCOMP_CONTEXT winnt_get_connection(PCOMP_CONTEXT context) * Main entry point for the worker threads. Worker threads block in * win*_get_connection() awaiting a connection to service. */ -static void worker_main(long thread_num) +static void worker_main(long *thread_num_) { static int requests_this_child = 0; PCOMP_CONTEXT context = NULL; + long thread_num = *thread_num_; ap_sb_handle_t *sbh; ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, ap_server_conf, @@ -867,7 +872,7 @@ void child_main(apr_pool_t *pconf) HANDLE *child_handles; int rv; time_t end_time; - int i; + long i; int cld; apr_pool_create(&pchild, pconf); @@ -928,7 +933,7 @@ void child_main(apr_pool_t *pconf) */ ap_log_error(APLOG_MARK,APLOG_NOTICE, APR_SUCCESS, ap_server_conf, "Child %d: Starting %d worker threads.", my_pid, ap_threads_per_child); - child_handles = (HANDLE) apr_pcalloc(pchild, ap_threads_per_child * sizeof(int)); + child_handles = (HANDLE) apr_pcalloc(pchild, ap_threads_per_child * sizeof(HANDLE)); apr_thread_mutex_create(&child_lock, APR_THREAD_MUTEX_DEFAULT, pchild); while (1) { @@ -941,7 +946,7 @@ void child_main(apr_pool_t *pconf) ap_update_child_status_from_indexes(0, i, SERVER_STARTING, NULL); child_handles[i] = (HANDLE) _beginthreadex(NULL, (unsigned)ap_thread_stacksize, (LPTHREAD_START_ROUTINE) worker_main, - (void *) i, 0, &tid); + (void *) &i, 0, &tid); if (child_handles[i] == 0) { ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf, "Child %d: _beginthreadex failed. Unable to create all worker threads. " @@ -1113,7 +1118,7 @@ void child_main(apr_pool_t *pconf) "Child %d: Waiting for %d worker threads to exit.", my_pid, threads_created); end_time = time(NULL) + 180; while (threads_created) { - rv = wait_for_many_objects(threads_created, child_handles, end_time - time(NULL)); + rv = wait_for_many_objects(threads_created, child_handles, (DWORD)(end_time - time(NULL))); if (rv != WAIT_TIMEOUT) { rv = rv - WAIT_OBJECT_0; ap_assert((rv >= 0) && (rv < threads_created)); diff --git a/server/mpm/winnt/mpm_winnt.c b/server/mpm/winnt/mpm_winnt.c index 6fcd7810e95..5a943f97112 100644 --- a/server/mpm/winnt/mpm_winnt.c +++ b/server/mpm/winnt/mpm_winnt.c @@ -416,7 +416,7 @@ static int send_handles_to_child(apr_pool_t *p, HANDLE hDup; HANDLE os_start; HANDLE hScore; - DWORD BytesWritten; + apr_size_t BytesWritten; if (!DuplicateHandle(hCurrentProcess, child_ready_event, hProcess, &hDup, EVENT_MODIFY_STATE | SYNCHRONIZE, FALSE, 0)) { @@ -566,14 +566,14 @@ static int send_listeners_to_child(apr_pool_t *p, DWORD dwProcessId, int lcnt = 0; ap_listen_rec *lr; LPWSAPROTOCOL_INFO lpWSAProtocolInfo; - DWORD BytesWritten; + apr_size_t BytesWritten; /* Run the chain of open sockets. For each socket, duplicate it * for the target process then send the WSAPROTOCOL_INFO * (returned by dup socket) to the child. */ for (lr = ap_listeners; lr; lr = lr->next, ++lcnt) { - int nsd; + apr_os_sock_t nsd; lpWSAProtocolInfo = apr_pcalloc(p, sizeof(WSAPROTOCOL_INFO)); apr_os_sock_get(&nsd,lr->sd); ap_log_error(APLOG_MARK, APLOG_INFO, APR_SUCCESS, ap_server_conf,