Skip to content
Snippets Groups Projects
Commit 1dcb99f0 authored by Gisle Vanem's avatar Gisle Vanem
Browse files

constify 'hostname' in init_thread_sync_data(). Simply clear

the whole 'tsd' structure on exit in destroy_thread_sync_data().
parent 03bc2d34
No related branches found
No related tags found
No related merge requests found
......@@ -179,28 +179,21 @@ struct thread_sync_data {
static
void destroy_thread_sync_data(struct thread_sync_data * tsd)
{
if (tsd->hostname) {
if (tsd->hostname)
free(tsd->hostname);
tsd->hostname = NULL;
}
if (tsd->event_terminate) {
if (tsd->event_terminate)
CloseHandle(tsd->event_terminate);
tsd->event_terminate = NULL;
}
if (tsd->mutex_terminate) {
if (tsd->mutex_terminate)
CloseHandle(tsd->mutex_terminate);
tsd->mutex_terminate = NULL;
}
if (tsd->mutex_waiting) {
if (tsd->mutex_waiting)
CloseHandle(tsd->mutex_waiting);
tsd->mutex_waiting = NULL;
}
memset(tsd,0,sizeof(*tsd));
}
/* Initialize resolver thread synchronization data */
static
BOOL init_thread_sync_data(struct thread_data * td,
char * hostname,
const char * hostname,
struct thread_sync_data * tsd)
{
HANDLE curr_proc = GetCurrentProcess();
......@@ -293,6 +286,7 @@ static unsigned __stdcall gethostbyname_thread (void *arg)
* due to a resolver timeout.
*/
struct thread_sync_data tsd = { 0,0,0,NULL };
if (!init_thread_sync_data(td, conn->async.hostname, &tsd)) {
/* thread synchronization data initialization failed */
return (unsigned)-1;
......@@ -353,6 +347,7 @@ static unsigned __stdcall getaddrinfo_thread (void *arg)
* due to a resolver timeout.
*/
struct thread_sync_data tsd = { 0,0,0,NULL };
if (!init_thread_sync_data(td, conn->async.hostname, &tsd)) {
/* thread synchronization data initialization failed */
return -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment