From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LNw6V-0000ot-Rj for qemu-devel@nongnu.org; Fri, 16 Jan 2009 16:19:47 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LNw6U-0000nc-1y for qemu-devel@nongnu.org; Fri, 16 Jan 2009 16:19:47 -0500 Received: from [199.232.76.173] (port=52791 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LNw6T-0000nR-QY for qemu-devel@nongnu.org; Fri, 16 Jan 2009 16:19:45 -0500 Received: from mail-bw0-f21.google.com ([209.85.218.21]:43864) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LNw6T-0006hI-6W for qemu-devel@nongnu.org; Fri, 16 Jan 2009 16:19:45 -0500 Received: by bwz14 with SMTP id 14so5399842bwz.10 for ; Fri, 16 Jan 2009 13:19:44 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <4970DB5F.5040608@codemonkey.ws> References: <4970D2EE.8060206@codemonkey.ws> <4970D6EA.2020700@codemonkey.ws> <4970DB5F.5040608@codemonkey.ws> Date: Fri, 16 Jan 2009 23:19:43 +0200 Message-ID: Subject: Re: [Qemu-devel] [6343] Fix false positive for AIO on OpenBSD From: Blue Swirl Content-Type: multipart/mixed; boundary=0016368e2bc9bf58960460a021f3 Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --0016368e2bc9bf58960460a021f3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 1/16/09, Anthony Liguori wrote: > Blue Swirl wrote: > > > On 1/16/09, Anthony Liguori wrote: > > > > > > > > > > It's just used for assigning the signal value. We could have a #ifdef > > > HAVE_SIGEVENT and define it if it doesn't exist--or just change the > aioinit > > > structure to use an int instead of the struct sigevent structure. It's > > > sigevent for glibc compatibility but that's not really important at this > > > stage. > > > > > > > > > > Ok. Should kill be used always or just when sigqueue is not available? > > > > > > Since we use it for process instead of thread signaling, I think it's safe > to always use kill(). I'm not completely sure though, having it conditional > on sigqueue would certainly be the conservative thing to do. This version uses just kill. Seems to work on Linux and OpenBSD. --0016368e2bc9bf58960460a021f3 Content-Type: plain/text; name="obsd_aio.diff" Content-Disposition: attachment; filename="obsd_aio.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fq1crpan SW5kZXg6IHFlbXUvYmxvY2stcmF3LXBvc2l4LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2Js b2NrLXJhdy1wb3NpeC5jCTIwMDktMDEtMTYgMjE6MDc6MTYuMDAwMDAwMDAwICswMDAwCisrKyBx ZW11L2Jsb2NrLXJhdy1wb3NpeC5jCTIwMDktMDEtMTYgMjE6MDk6NDkuMDAwMDAwMDAwICswMDAw CkBAIC01NzksOCArNTc5LDcgQEAKICAgICBpZiAoIWFjYikKICAgICAgICAgcmV0dXJuIE5VTEw7 CiAgICAgYWNiLT5haW9jYi5haW9fZmlsZGVzID0gcy0+ZmQ7Ci0gICAgYWNiLT5haW9jYi5haW9f c2lnZXZlbnQuc2lnZXZfc2lnbm8gPSBTSUdVU1IyOwotICAgIGFjYi0+YWlvY2IuYWlvX3NpZ2V2 ZW50LnNpZ2V2X25vdGlmeSA9IFNJR0VWX1NJR05BTDsKKyAgICBhY2ItPmFpb2NiLnNpZ2V2X3Np Z25vID0gU0lHVVNSMjsKICAgICBhY2ItPmFpb2NiLmFpb19idWYgPSBidWY7CiAgICAgaWYgKG5i X3NlY3RvcnMgPCAwKQogICAgICAgICBhY2ItPmFpb2NiLmFpb19uYnl0ZXMgPSAtbmJfc2VjdG9y czsKSW5kZXg6IHFlbXUvY29uZmlndXJlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9jb25maWd1 cmUJMjAwOS0wMS0xNiAyMTowNzoxNi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvY29uZmlndXJl CTIwMDktMDEtMTYgMjE6MDk6NDkuMDAwMDAwMDAwICswMDAwCkBAIC0xMDA1LDkgKzEwMDUsNyBA QAogICBhaW89bm8KICAgY2F0ID4gJFRNUEMgPDwgRU9GCiAjaW5jbHVkZSA8cHRocmVhZC5oPgot I2luY2x1ZGUgPHNpZ25hbC5oPgotaW50IG1haW4odm9pZCkgeyBzdHJ1Y3Qgc2lnZXZlbnQgczsg cHRocmVhZF9tdXRleF90IGxvY2s7Ci0gICAgcmV0dXJuIHNpZ3F1ZXVlKDAsIDAsIHMuc2lnZXZf dmFsdWUpOyB9CitpbnQgbWFpbih2b2lkKSB7IHB0aHJlYWRfbXV0ZXhfdCBsb2NrOyAgcmV0dXJu IDA7IH0KIEVPRgogICBpZiAkY2MgJEFSQ0hfQ0ZMQUdTIC1vICRUTVBFICRBSU9MSUJTICRUTVBD IDI+IC9kZXYvbnVsbCA7IHRoZW4KICAgICBhaW89eWVzCkluZGV4OiBxZW11L3Bvc2l4LWFpby1j b21wYXQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvcG9zaXgtYWlvLWNvbXBhdC5jCTIwMDkt MDEtMTYgMjE6MDc6MTYuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L3Bvc2l4LWFpby1jb21wYXQu YwkyMDA5LTAxLTE2IDIxOjA5OjQ5LjAwMDAwMDAwMCArMDAwMApAQCAtOTQsOSArOTQsNyBAQAog ICAgICAgICBpZGxlX3RocmVhZHMrKzsKICAgICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmxv Y2spOwogCi0gICAgICAgIHNpZ3F1ZXVlKGdldHBpZCgpLAotICAgICAgICAgICAgICAgICBhaW9j Yi0+YWlvX3NpZ2V2ZW50LnNpZ2V2X3NpZ25vLAotICAgICAgICAgICAgICAgICBhaW9jYi0+YWlv X3NpZ2V2ZW50LnNpZ2V2X3ZhbHVlKTsKKyAgICAgICAga2lsbChnZXRwaWQoKSwgYWlvY2ItPnNp Z2V2X3NpZ25vKTsKICAgICB9CiAKICAgICBpZGxlX3RocmVhZHMtLTsKSW5kZXg6IHFlbXUvcG9z aXgtYWlvLWNvbXBhdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9wb3NpeC1haW8tY29tcGF0 LmgJMjAwOS0wMS0xNiAyMTowNzoxNi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvcG9zaXgtYWlv LWNvbXBhdC5oCTIwMDktMDEtMTYgMjE6MDk6NDkuMDAwMDAwMDAwICswMDAwCkBAIC0yOSw3ICsy OSw3IEBACiAgICAgaW50IGFpb19maWxkZXM7CiAgICAgdm9pZCAqYWlvX2J1ZjsKICAgICBzaXpl X3QgYWlvX25ieXRlczsKLSAgICBzdHJ1Y3Qgc2lnZXZlbnQgYWlvX3NpZ2V2ZW50OworICAgIGlu dCBzaWdldl9zaWdubzsKICAgICBvZmZfdCBhaW9fb2Zmc2V0OwogCiAgICAgLyogcHJpdmF0ZSAq Lwo= --0016368e2bc9bf58960460a021f3--