From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:52265) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URllI-0007HG-VK for qemu-devel@nongnu.org; Mon, 15 Apr 2013 11:56:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1URllH-0005Vr-KP for qemu-devel@nongnu.org; Mon, 15 Apr 2013 11:56:08 -0400 Received: from mail-qe0-f47.google.com ([209.85.128.47]:61946) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URllH-0005VJ-HY for qemu-devel@nongnu.org; Mon, 15 Apr 2013 11:56:07 -0400 Received: by mail-qe0-f47.google.com with SMTP id w7so2780411qeb.34 for ; Mon, 15 Apr 2013 08:56:07 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <516C230B.8090608@redhat.com> Date: Mon, 15 Apr 2013 17:55:55 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <12545.9562209018$1363177481@news.gmane.org> In-Reply-To: <12545.9562209018$1363177481@news.gmane.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] Added cleanup for Win32 TAP interface List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Pavel Dovgaluk Cc: Stefan Weil , 'qemu-devel' Il 13/03/2013 13:23, Pavel Dovgaluk ha scritto: > Added cleanup for Win32 TAP interface. > > Signed-off-by: Pavel Dovgalyuk Stefan, did this slip? Paolo > --- > net/tap-win32.c | 8 ++++---- > 1 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/net/tap-win32.c b/net/tap-win32.c > index 91e9e84..1c1176c 100644 > --- a/net/tap-win32.c > +++ b/net/tap-win32.c > @@ -99,6 +99,7 @@ typedef struct tap_win32_overlapped { > HANDLE output_queue_semaphore; > HANDLE free_list_semaphore; > HANDLE tap_semaphore; > + HANDLE hThread; > CRITICAL_SECTION output_queue_cs; > CRITICAL_SECTION free_list_cs; > OVERLAPPED read_overlapped; > @@ -625,7 +626,7 @@ static int tap_win32_open(tap_win32_overlapped_t **phandle, > > *phandle = &tap_overlapped; > > - CreateThread(NULL, 0, tap_win32_thread_entry, > + tap_overlapped.hThread = CreateThread(NULL, 0, tap_win32_thread_entry, > (LPVOID)&tap_overlapped, 0, &idThread); > return 0; > } > @@ -643,9 +644,8 @@ static void tap_cleanup(NetClientState *nc) > > qemu_del_wait_object(s->handle->tap_semaphore, NULL, NULL); > > - /* FIXME: need to kill thread and close file handle: > - tap_win32_close(s); > - */ > + TerminateThread(s->handle->hThread, 0); > + CloseHandle(s->handle->handle); > } > > static ssize_t tap_receive(NetClientState *nc, const uint8_t *buf, size_t size) > > > >