From patchwork Sun Mar 28 18:39:42 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 48788 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 632D3B7CBD for ; Mon, 29 Mar 2010 05:40:41 +1100 (EST) Received: from localhost ([127.0.0.1]:51277 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NvxPZ-0006Ix-Fb for incoming@patchwork.ozlabs.org; Sun, 28 Mar 2010 14:40:37 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NvxOy-0006IS-GV for qemu-devel@nongnu.org; Sun, 28 Mar 2010 14:40:00 -0400 Received: from [140.186.70.92] (port=51605 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NvxOw-0006ID-Hg for qemu-devel@nongnu.org; Sun, 28 Mar 2010 14:39:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NvxOv-0006m7-42 for qemu-devel@nongnu.org; Sun, 28 Mar 2010 14:39:58 -0400 Received: from solo.fdn.fr ([80.67.169.19]:51188) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NvxOu-0006lP-UY for qemu-devel@nongnu.org; Sun, 28 Mar 2010 14:39:57 -0400 Received: from const.ipv6 (youpi.is-a-geek.org [80.67.176.89]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by solo.fdn.fr (Postfix) with ESMTP id 91C8D44332 for ; Sun, 28 Mar 2010 20:39:44 +0200 (CEST) Received: from samy by const.ipv6 with local (Exim 4.71) (envelope-from ) id 1NvxOh-00044q-48 for qemu-devel@nongnu.org; Sun, 28 Mar 2010 20:39:43 +0200 Date: Sun, 28 Mar 2010 20:39:42 +0200 From: Samuel Thibault To: qemu-devel@nongnu.org Message-ID: <20100328183942.GN7497@const.famille.thibault.fr> References: <20100228200300.GD11637@const.famille.thibault.fr> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20100228200300.GD11637@const.famille.thibault.fr> User-Agent: Mutt/1.5.12-2006-07-14 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) Subject: [Qemu-devel] [PATCH] baum: add destroy hook X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Hello, This adds a destroy hook for the baum character device, to properly close the BrlAPI connection and free resources. Signed-off-by: Samuel Thibault commit 447c41758cfda0022ea6e09aaf81137b2b27b915 Author: Samuel Thibault Date: Sun Mar 28 20:38:38 2010 +0200 baum: add destroy hook Add a destroy hook for the baum character device, to properly close the BrlAPI connection. diff --git a/hw/baum.c b/hw/baum.c index 18633f4..21326ae 100644 --- a/hw/baum.c +++ b/hw/baum.c @@ -564,6 +564,18 @@ static void baum_chr_read(void *opaque) } } +static void baum_close(struct CharDriverState *chr) +{ + BaumDriverState *baum = chr->opaque; + + qemu_free_timer(baum->cellCount_timer); + if (baum->brlapi) { + brlapi__closeConnection(baum->brlapi); + qemu_free(baum->brlapi); + } + qemu_free(baum); +} + CharDriverState *chr_baum_init(QemuOpts *opts) { BaumDriverState *baum; @@ -581,6 +593,7 @@ CharDriverState *chr_baum_init(QemuOpts *opts) chr->chr_write = baum_write; chr->chr_send_event = baum_send_event; chr->chr_accept_input = baum_accept_input; + chr->chr_close = baum_close; handle = qemu_mallocz(brlapi_getHandleSize()); baum->brlapi = handle;