From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GMPLt-0005Ps-ND for qemu-devel@nongnu.org; Sun, 10 Sep 2006 09:28:01 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GMPLs-0005OY-Su for qemu-devel@nongnu.org; Sun, 10 Sep 2006 09:28:01 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GMPLs-0005OC-NN for qemu-devel@nongnu.org; Sun, 10 Sep 2006 09:28:00 -0400 Received: from [64.233.166.176] (helo=py-out-1112.google.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GMPMv-00038E-S8 for qemu-devel@nongnu.org; Sun, 10 Sep 2006 09:29:06 -0400 Received: by py-out-1112.google.com with SMTP id x31so1600313pye for ; Sun, 10 Sep 2006 06:27:59 -0700 (PDT) Message-ID: Date: Sun, 10 Sep 2006 15:27:59 +0200 From: "Alessandro Corradi" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_129325_9451224.1157894879543" Subject: [Qemu-devel] Socket conflict with qemu? 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 ------=_Part_129325_9451224.1157894879543 Content-Type: multipart/alternative; boundary="----=_Part_129326_50995.1157894879543" ------=_Part_129326_50995.1157894879543 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi all, I write a new device that is connect via socket to a host program that emulate a small memory. I can correctly write in this "memory" but sometimes, when I want to read, the recv() socket function give me an error (-1 return). Do you know if there is a socket problem with qemu? Because I tried to write a host program that make the same thing but I didn't get any errors. I don't know if it is usefull but I attach my written module (scmem.c). Thanks, Ale ------=_Part_129326_50995.1157894879543 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi all,
I write a new device that is connect via socket to a host program that emulate a small memory.
I can correctly write in this "memory" but sometimes, when I want to read, the recv() socket function give me an error (-1 return).

Do you know if there is a socket problem with qemu? Because I tried to write a host program that make the same thing but I didn't get any errors.

I don't know if it is usefull but I attach my written module ( scmem.c).

Thanks,
Ale
------=_Part_129326_50995.1157894879543-- ------=_Part_129325_9451224.1157894879543 Content-Type: text/x-csrc; name=scmem.c; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_erwdfjy3 Content-Disposition: attachment; filename="scmem.c" I2luY2x1ZGUgInZsLmgiCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KI2luY2x1ZGUgPG5l dGluZXQvaW4uaD4KI2luY2x1ZGUgPHNpZ25hbC5oPgojaW5jbHVkZSA8bmV0ZGIuaD4KI2luY2x1 ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKI2Rl ZmluZSBEQVRBIDB4YmZlMDA1MjAKI2RlZmluZSBDT01NIDB4YmZlMDA1MzAKI2RlZmluZSBBRERS IDB4YmZlMDA1MTAKI2RlZmluZSBDT05UUk9MIDB4YmZlMDA1MDAKCi8vI2RlZmluZSBTQ0RFQlVH CgpzdHJ1Y3Qgc29ja2FkZHJfaW4gbXlhZGRyX2luOwkvLyBmb3IgbG9jYWwgc29ja2V0IGFkZHJl c3MKc3RydWN0IHNvY2thZGRyX2luIHBlZXJhZGRyX2luOwkvLyBmb3IgcGVlciBzb2NrZXQgYWRk cmVzcwppbnQgdGhlU29ja2V0OwkJCQkJLy8gc29ja2V0IGRlc2NyaXB0b3IKc3RydWN0IGhvc3Rl bnQgKmhwOwkJCQkvLyBwb2ludGVyIHRvIGhvc3QgaW5mbwpzdHJ1Y3Qgc2VydmVudCAqc3A7CQkJ CS8vIHBvaW50ZXIgdG8gc2VydmljZSBpbmZvcm1hdGlvbgoKdm9pZCBzY21lbV9yZXN0b3JlKCk7 Cgp0eXBlZGVmIHN0cnVjdCB7Cgl1bnNpZ25lZCBpbnQgdHlwZTsKCXVuc2lnbmVkIGludCBhZGRy ZXNzOwoJdW5zaWduZWQgaW50IGxlbmd0aDsKCXVuc2lnbmVkIGxvbmcgbG9uZyBNZW1FbGVtOwoJ dW5zaWduZWQgbG9uZyBsb25nIE1lbUVsZW0xOwp9IHNjX21lc3NhZ2VfdHlwZV90OwoKc2NfbWVz c2FnZV90eXBlX3QgbXNnOwoKc3RydWN0IHNjbWVtU3RhdGUgewogICAgdWludDMyX3QgZGF0YTsK ICAgIHVpbnQzMl90IGFkZHI7CiAgICB1aW50MzJfdCBjb250cm9sOwogICAgdWludDMyX3QgY29t bTsKCiAgICBpbnQgaXJxOwogICAgaW50IGlycV9wZW5kaW5nOwogICAgQ2hhckRyaXZlclN0YXRl ICpjaHI7CiAgICBpbnQgaHdfZHJpdmVyOwp9OwoKLy9EYXRhIGV4Y2hhbmdlCiB1aW50MzIgY29z aW0oaW50IG9wLCBpbnQgYWRkciwgaW50IGRhdGEpIHsKICBtc2cudHlwZT1vcDsKICAjaWZkZWYg U0NERUJVRwogIHByaW50ZigibXNnLnR5cGU9ICVkXG4iLG1zZy50eXBlKTsKICAjZW5kaWYKCiAg bXNnLmFkZHJlc3M9YWRkcjsKICAjaWZkZWYgU0NERUJVRwogIHByaW50ZigibXNnLmFkZHI9ICV4 XG4iLG1zZy5hZGRyZXNzKTsKICAjZW5kaWYKCiAgaWYgKGFkZHIgPT0gQ09OVFJPTCkgewogICAg bXNnLmxlbmd0aD0xOwogIH0gZWxzZSB7IAogICAgICBpZiAoYWRkciA9PSBEQVRBICYmIG9wID09 IDApIHsKICAgICAgICBtc2cubGVuZ3RoPTA7CiAgICAgIH0gCiAgICBlbHNlIG1zZy5sZW5ndGg9 c2l6ZW9mKG1zZy5hZGRyZXNzKTsKIH0KICAjaWZkZWYgU0NERUJVRwogIHByaW50ZigibXNnLmxl bmd0aD0gJXhcbiIsbXNnLmxlbmd0aCk7CiAgI2VuZGlmCgogIG1zZy5NZW1FbGVtPWRhdGE7CiAg dXNsZWVwKDI1MDAwMCk7CiAgaWYoc2VuZCh0aGVTb2NrZXQsJm1zZyxzaXplb2Yoc2NfbWVzc2Fn ZV90eXBlX3QpLE1TR19PT0IpID09IC0xKSBwZXJyb3IoIlRjcFdyaXRlIEVSUk9SXG4iKTsKICB1 c2xlZXAoMjUwMDAwKTsKICBpZihyZWN2KHRoZVNvY2tldCwmbXNnLHNpemVvZihzY19tZXNzYWdl X3R5cGVfdCksMCkgPT0gLTEpIHBlcnJvcigiVGNwUmVhZCBFUlJPUlxuIik7CiAgdXNsZWVwKDI1 MDAwMCk7CgogICNpZmRlZiBTQ0RFQlVHCiAgcHJpbnRmKCJtc2cuTWVtRWxlbT0gJWRcbiIsbXNn Lk1lbUVsZW0pOwogICNlbmRpZgoKICByZXR1cm4gbXNnLk1lbUVsZW07Cn0KCi8qCnN0YXRpYyB2 b2lkIHNjbWVtX3VwZGF0ZV9pcnEoc2NtZW1TdGF0ZSAqcykKewogICAgaWYgKHMtPmlycV9wZW5k aW5nKQogICAgICAgIHBpY19zZXRfaXJxKHMtPmlycSwgMSk7CiAgICBlbHNlCiAgICAgICAgcGlj X3NldF9pcnEocy0+aXJxLCAwKTsKfQoqLwpzdGF0aWMgdWludDMyX3Qgc2NtZW1faW9wb3J0X3Jl YWQodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyKSB7CglzY21lbVN0YXRlICpzID0gb3BhcXVl OwoJdWludDMyX3QgcmV0PSAweGZmOwoJCglhZGRyICY9IDc7Cglzd2l0Y2goYWRkcikgewoJY2Fz ZSAwOgoJCWlmKHMtPmh3X2RyaXZlcikgewoKCQkJcy0+ZGF0YSA9IGNvc2ltKDAsREFUQSwwKTsK CQkJI2lmZGVmIFNDREVCVUcKCQkJcHJpbnRmKCJSZWFkaW5nIGF0IDB4NzM4IChkYXRhIHJlZykg dmFsdWU9ICVkXG4iLHMtPmRhdGEpOwoJCQkjZW5kaWYKCQl9CgkJcmV0ID0gcy0+ZGF0YTsKCQli cmVhazsKCWNhc2UgMToKCQlpZihzLT5od19kcml2ZXIpIHsKCgkJCXMtPmFkZHIgPSBjb3NpbSgw LEFERFIsMCk7CgkJCSNpZmRlZiBTQ0RFQlVHCQkJCgkJCXByaW50ZigiUmVhZGluZyBhdCAweDcz OSAoYWRkciByZWcpIHZhbHVlPSAlZFxuIixzLT5hZGRyKTsKCQkJI2VuZGlmCgkJfQoJCXJldCA9 IHMtPmFkZHI7CgkJYnJlYWs7CgljYXNlIDI6CgkJaWYocy0+aHdfZHJpdmVyKSB7CgoJCQlzLT5j b250cm9sID0gY29zaW0oMCxDT05UUk9MLDApOwoJCQkjaWZkZWYgU0NERUJVRwkKCQkJcHJpbnRm KCJSZWFkaW5nIGF0IDB4NzRhIChjb250cm9sIHJlZykgdmFsdWU9ICVkXG4iLHMtPmNvbnRyb2wp OwoJCQkjZW5kaWYKCQl9CgkJcmV0ID0gcy0+Y29udHJvbDsKCQlicmVhazsKCWNhc2UgMzoKCQlp ZihzLT5od19kcml2ZXIpIHsKCgkJCXMtPmNvbW0gPSBjb3NpbSgwLENPTU0sMCk7CgkJCSNpZmRl ZiBTQ0RFQlVHCQoJCQlwcmludGYoIlJlYWRpbmcgYXQgMHg3NGIgKGNvbW0gcmVnKSB2YWx1ZT0g JWRcbiIscy0+Y29tbSk7CgkJCSNlbmRpZgoJCX0KCQlyZXQgPSBzLT5jb21tOwoJCWJyZWFrOwoJ fQoJCiAgICByZXR1cm4gcmV0Owp9CgpzdGF0aWMgdm9pZCBzY21lbV9pb3BvcnRfd3JpdGUodm9p ZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2YWwpIHsKCXNjbWVtU3RhdGUgKnMg PSBvcGFxdWU7CglhZGRyICY9IDc7Cglzd2l0Y2goYWRkcikgewoJY2FzZSAwOgoJCWlmKHMtPmh3 X2RyaXZlcikgewoKCQkJY29zaW0oMSxEQVRBLHZhbCk7CgkJCXMtPmRhdGEgPSB2YWw7CgkJCSNp ZmRlZiBTQ0RFQlVHCgkJCXByaW50ZigiV3JpdGluZyBhdCAweDczOCAoZGF0YSByZWcpIHZhbHVl PSAlZFxuIix2YWwpOwoJCQkjZW5kaWYKCQl9CgkJYnJlYWs7CgljYXNlIDE6CgkJaWYocy0+aHdf ZHJpdmVyKSB7CgkJCWNvc2ltKDEsQUREUix2YWwpOwoJCQlzLT5hZGRyID0gdmFsOwoJCQkjaWZk ZWYgU0NERUJVRwkKCQkJcHJpbnRmKCJXcml0aW5nIGF0IDB4NzM5IChhZGRyIHJlZykgdmFsdWU9 ICVkXG4iLHZhbCk7CgkJCSNlbmRpZgoJCX0KCQlicmVhazsKCWNhc2UgMjoKCQlpZihzLT5od19k cml2ZXIpIHsKCQkJY29zaW0oMSxDT05UUk9MLHZhbCk7CgkJCXMtPmNvbnRyb2wgPSB2YWw7CgkJ CSNpZmRlZiBTQ0RFQlVHCQoJCQlwcmludGYoIldyaXRpbmcgYXQgMHg3NGEgKGNvbnRyb2wgcmVn KSB2YWx1ZT0gJWRcbiIsdmFsKTsKCQkJI2VuZGlmCgkJfQoJCWJyZWFrOwoJY2FzZSAzOgoJCWlm KHMtPmh3X2RyaXZlcikgewoJCQlpZiAodmFsID09IDB4MDAwMykgeyAvL1NDIHNvY2tldCBjb25u ZWN0aW9uIHJlc3RvcmUKCQkJCXNjbWVtX3Jlc3RvcmUoKTsKCQkJfSBlbHNlIHsKCQkJCWNvc2lt KDEsQ09NTSx2YWwpOwoJCQkJcy0+Y29tbSA9IHZhbDsKCQkJCSNpZmRlZiBTQ0RFQlVHCQoJCQkJ cHJpbnRmKCJXcml0aW5nIGF0IDB4NzRiIChjb21tIHJlZykgdmFsdWU9ICVkXG4iLHZhbCk7CgkJ CQkjZW5kaWYKCQkJfQoJCX0KCQlicmVhazsKCX0KCQp9CgpzY21lbVN0YXRlICpzY21lbV9pbml0 KGludCBiYXNlLCBpbnQgaXJxLCBDaGFyRHJpdmVyU3RhdGUgKmNocil7CglzY21lbVN0YXRlICpz OwoKCXM9cWVtdV9tYWxsb2N6KHNpemVvZihzY21lbVN0YXRlKSk7CglzLT5jaHIgPSBjaHI7Cglz LT5od19kcml2ZXIgPSAxOwoJcy0+aXJxID0gaXJxOwoJcy0+ZGF0YSA9IDA7CglzLT5hZGRyID0g MDsgLy9jb3JyZWN0PwoJcy0+Y29udHJvbCA9IDA7IC8vY29ycmVjdD8KCQoJLy93cmFwcGVyIGlu aXQKCW1lbXNldCAoKGNoYXIgKikmcGVlcmFkZHJfaW4sIDAsIHNpemVvZihzdHJ1Y3Qgc29ja2Fk ZHJfaW4pKTsKCWhwPWdldGhvc3RieW5hbWUoIjEyNy4wLjAuMSIpOwoJcGVlcmFkZHJfaW4uc2lu X2ZhbWlseSA9IEFGX0lORVQ7CglwZWVyYWRkcl9pbi5zaW5fYWRkci5zX2FkZHI9KChzdHJ1Y3Qg aW5fYWRkciAqKShocC0+aF9hZGRyKSktPnNfYWRkcjsKCXBlZXJhZGRyX2luLnNpbl9wb3J0PWh0 b25zKDQ0NDkpOwoJaWYoKHRoZVNvY2tldD1zb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKSk9 PS0xKSB7CgkgIHByaW50ZigiRXJyb3JlIGNyZWF6aW9uZSBzb2NrZXRcbiIpOwoJfQoJaWYgKGNv bm5lY3QodGhlU29ja2V0LChzdHJ1Y3Qgc29ja2FkZHIgKikmcGVlcmFkZHJfaW4sc2l6ZW9mKHN0 cnVjdCBzb2NrYWRkcl9pbikpPT0tMSkgewoJCXByaW50ZigiRXJyb3JlIG5lbGxhIGNvbm5lc3Np b25lIGRlbCBzb2NrZXQgXG4iKTsKCX0gZWxzZSB7CglwcmludGYoIlNvY2tldCBjcmVhdG8gXG4i KTsKCX0KCgoJcmVnaXN0ZXJfaW9wb3J0X3JlYWQoYmFzZSwgOCwgMSwgc2NtZW1faW9wb3J0X3Jl YWQsIHMpOwoJcmVnaXN0ZXJfaW9wb3J0X3dyaXRlKGJhc2UsIDgsIDEsIHNjbWVtX2lvcG9ydF93 cml0ZSwgcyk7CiAgICByZXR1cm4gczsKfQoKCgovL1NDIHNvY2tldCBjb25uZWN0aW9uIHJlc3Rv cmUgV0FSTklORzogbXVzdCByZWFjdGl2YXRlIHNjIHByb2dyYW0gZmlyc3QhCnZvaWQgc2NtZW1f cmVzdG9yZSgpIHsKCW1lbXNldCAoKGNoYXIgKikmcGVlcmFkZHJfaW4sIDAsIHNpemVvZihzdHJ1 Y3Qgc29ja2FkZHJfaW4pKTsKCWhwPWdldGhvc3RieW5hbWUoIjEyNy4wLjAuMSIpOwoJcGVlcmFk ZHJfaW4uc2luX2ZhbWlseSA9QUZfSU5FVDsKCXBlZXJhZGRyX2luLnNpbl9hZGRyLnNfYWRkcj0o KHN0cnVjdCBpbl9hZGRyICopKGhwLT5oX2FkZHIpKS0+c19hZGRyOwoJcGVlcmFkZHJfaW4uc2lu X3BvcnQ9aHRvbnMoNDQ0OSk7Cgl0aGVTb2NrZXQ9c29ja2V0KEFGX0lORVQsU09DS19TVFJFQU0s MCk7CglpZiAoY29ubmVjdCh0aGVTb2NrZXQsKHN0cnVjdCBzb2NrYWRkciAqKSZwZWVyYWRkcl9p bixzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luKSk9PS0xKSB7CgkJcHJpbnRmKCJFcnJvcmUgbmVs bGEgY3JlYXppb25lIGRlbCBzb2NrZXQgXG4iKTs7Cgl9IGVsc2UgewoJcHJpbnRmKCJTb2NrZXQg Y3JlYXRvIFxuIik7Cgl9Cn0K ------=_Part_129325_9451224.1157894879543--