recv() error in 2.1.116pre1?

Theo Van Dinter (tvd@chrysalis.com)
Wed, 12 Aug 1998 17:34:57 -0400


This is a multipart MIME message.

--==_Exmh_-5069131920
Content-Type: text/plain; charset=us-ascii

While researching another problem, I found an issue with a different code
segment that works fine under 2.0.x. The dumbed down version attached to this
message will get a socket, and then fork a second process (sender/receiver).
The processes will connect, send the file "input" to the process (writing to
"output"), and then exit. Really simple. Works great on the 2.0.35 kernel
that I wrote it on. With at least 2.1.116pre1 though, I *always* get (through
perror on the recv() call):

Resource temporarily unavailable

--==_Exmh_-5069131920
Content-Type: text/plain; name="program.c"; charset=us-ascii
Content-Description: program.c
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="program.c"

I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHVuaXN0
ZC5oPgojaW5jbHVkZSA8c3lzL3NvY2tldC5oPgojaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgoj
aW5jbHVkZSA8bmV0ZGIuaD4KCiNkZWZpbmUgb29wcyhtc2cpIHsgcGVycm9yKG1zZyk7IGV4
aXQoMSk7IH0KCiNpZm5kZWYgTVNHX1dBSVRBTEwgLyogTW9zdCBTeXN0ZW1zIGRvbid0IHRl
bmQgdG8gaGF2ZSB0aGlzIC4uLiAqLwojZGVmaW5lIE1TR19XQUlUQUxMICAgICAweDQwICAg
ICAgICAgICAgLyogd2FpdCBmb3IgZnVsbCByZXF1ZXN0IG9yIGVycm9yICovCiNlbmRpZgoK
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewogIEZJTEUgKmZpbGU7CiAgdW5z
aWduZWQgY2hhciBidWZmZXJbNjRdOwogIGludCBzLCBmZCwgcG9ydD00MzU2LCB2YWx1ZSwg
cGlkOwogIHN0cnVjdCBzb2NrYWRkcl9pbiBzYWRkcjsKICBzdHJ1Y3QgaG9zdGVudCAqaHA7
CgogIG1lbXNldCgmc2FkZHIsMCxzaXplb2Yoc2FkZHIpKTsKICBzYWRkci5zaW5fZmFtaWx5
PUFGX0lORVQ7CiAgaHA9Z2V0aG9zdGJ5bmFtZSgibG9jYWxob3N0Iik7CiAgbWVtY3B5KCZz
YWRkci5zaW5fYWRkcixocC0+aF9hZGRyLGhwLT5oX2xlbmd0aCk7CiAgc2FkZHIuc2luX3Bv
cnQ9aHRvbnMocG9ydCk7CgogIHBpZCA9IGZvcmsoKTsgLyogY2hpbGQgPSBzZW5kZXIsIHBh
cmVudCA9IHJlY2VpdmVyICovCgogIGlmICggIXBpZCApIHsKICAgIHNsZWVwKDEpOyAvKiBz
bGVlcCBmb3IgMSBzZWNvbmQgc28gcmVjZWl2ZXIgY2FuIHN0YXJ0IHVwICovCiAgICBpZiAo
IChmaWxlPWZvcGVuKCJpbnB1dCIsInJiIikpID09IE5VTEwgKQogICAgICBvb3BzKCJmb3Bl
biIpOwogIH0KICBlbHNlIHsKICAgIGlmICggKGZpbGU9Zm9wZW4oIm91dHB1dCIsIndiIikp
ID09IE5VTEwgKQogICAgICBvb3BzKCJmb3BlbiIpOwogIH0KCiAgaWYgKCAocz1zb2NrZXQo
QUZfSU5FVCwgU09DS19TVFJFQU0sIDApKSA9PSAtMSApCiAgICBvb3BzKCJzb2NrZXQiKTsK
CiAgaWYgKCAhcGlkICkgewogICAgaWYgKGNvbm5lY3Qocywoc3RydWN0IHNvY2thZGRyICop
JnNhZGRyLHNpemVvZihzYWRkcikpICE9MCkKICAgICAgb29wcygiY29ubmVjdCIpOwogICAg
d2hpbGUoICh2YWx1ZT1mcmVhZChidWZmZXIsMSw2NCxmaWxlKSkgPiAwICkKICAgICAgaWYg
KCBzZW5kKHMsYnVmZmVyLHZhbHVlLDApIDwgMCApCglwZXJyb3IoInNlbmQiKTsKICB9CiAg
ZWxzZSB7CiAgICBpZiAoYmluZChzLChzdHJ1Y3Qgc29ja2FkZHIgKikmc2FkZHIsc2l6ZW9m
KHNhZGRyKSkgIT0wKQogICAgICBvb3BzKCJiaW5kIik7CiAgICBpZiAobGlzdGVuKHMsMSkh
PTApCiAgICAgIG9vcHMoImxpc3RlbiIpOwogICAgaWYgKCAoZmQ9YWNjZXB0KHMsTlVMTCxO
VUxMKSkgPT0gLTEgKQogICAgICBvb3BzKCJhY2NlcHQiKTsKICAgIHdoaWxlICggKHZhbHVl
PXJlY3YoZmQsYnVmZmVyLDY0LE1TR19XQUlUQUxMKSk+MCApCiAgICAgIGZ3cml0ZShidWZm
ZXIsMSx2YWx1ZSxmaWxlKTsKICAgIGlmICggdmFsdWUgPT0gLTEgKQogICAgICBvb3BzKCJy
ZWN2Iik7CiAgfQoKICBmY2xvc2UoZmlsZSk7CgogIHJldHVybiAwOwp9Cg==

--==_Exmh_-5069131920
Content-Type: text/plain; charset=us-ascii

Theo Van Dinter UNIX Systems Administrator
Chrysalis Symbolic Design 978/436-9911 x163

--==_Exmh_-5069131920--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html