I/O blocks threads?

Stewart Allen kaffe@kaffe.org
Fri, 18 Apr 1997 16:08:53 -0400 (EDT)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---215612553-1033666955-861392379=:7630
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.3.95.970418154509.7630H@flex.neuron.com>


 * kaffe 0.8.4
 * Linux 2.0.27 i586

 I'm having a problem with I/O calls blocking threads. Is this a
 well-known problem with kaffe or is it specific to the Linux which
 I'm running it on?

 I've attached bit of sample code which shows the problem. After
 compiling, invoke it with:

 kaffe udptest

 The Java VM completes the test, but kaffe blocks after the
 first call to receive(). If I run the client and server as
 separate processes then all is well. To do this:

 kaffe udpclient 7777
 kaffe udpserver localhost 7777

 in separate windows. Make sure you start the client first. They both
 send text to STDOUT.

 -stewart-

---215612553-1033666955-861392379=:7630
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="udp.java"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.970418153939.7630F@flex.neuron.com>
Content-Description: UDP client/server test

LyoqDQ0KICogVURQIGNsaWVudC9zZXJ2ZXIgdGVzdA0NCiAqIFN0ZXdhcnQg
QWxsZW4gKHN0ZXdhcnRAbmV1cm9uLmNvbSkNDQogKi8gDQ0KDQ0KaW1wb3J0
IGphdmEuaW8uKjsNDQppbXBvcnQgamF2YS5uZXQuKjsNDQoNDQpjbGFzcyB1
ZHBjbGllbnQgZXh0ZW5kcyBUaHJlYWQgew0NCiAgICBpbnQgcG9ydDsNDQoN
DQogICAgcHVibGljIHVkcGNsaWVudChpbnQgcG9ydCkNDQogICAgew0NCiAg
ICAgICAgdGhpcy5wb3J0ID0gcG9ydDsNDQogICAgfQ0NCg0NCiAgICBwdWJs
aWMgdm9pZCBydW4oKQ0NCiAgICB7DQ0KICAgICAgICBEYXRhZ3JhbVNvY2tl
dCBkOw0NCiAgICAgICAgRGF0YWdyYW1QYWNrZXQgcDsNDQogICAgICAgIGJ5
dGUgZGF0YVtdID0gbmV3IGJ5dGVbMTAyNF07DQ0KICAgICAgICBTdHJpbmcg
c2RhdGE7DQ0KICAgICAgICBwID0gbmV3IERhdGFncmFtUGFja2V0KGRhdGEs
ZGF0YS5sZW5ndGgpOw0NCg0NCiAgICAgICAgdHJ5IHsNDQogICAgICAgICAg
ICBkID0gbmV3IERhdGFncmFtU29ja2V0KHBvcnQpOw0NCiAgICAgICAgICAg
IGludCBpPTA7DQ0KICAgICAgICAgICAgd2hpbGUgKGk8MzApIHsNDQogICAg
ICAgICAgICAgICAgZC5yZWNlaXZlKHApOw0NCiAgICAgICAgICAgICAgICBT
eXN0ZW0uZXJyLnByaW50bG4oImdvdCBwYWNrZXQgIisoaSsrKSk7DQ0KDQ0K
ICAgICAgICAgICAgICAgIFRocmVhZC55aWVsZCgpOw0NCiAgICAgICAgICAg
IH0NDQogICAgICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsNDQogICAg
ICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oImNsaWVudCBleGNlcHRpb246
ICIrZSk7DQ0KICAgICAgICB9DQ0KICAgIH0NDQoNDQogICAgcHVibGljIHN0
YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSkNDQogICAgew0NCiAgICAg
ICAgdWRwY2xpZW50IG1lID0gbmV3IHVkcGNsaWVudCg3Nzc3KTsNDQogICAg
ICAgIG1lLnN0YXJ0KCk7DQ0KICAgIH0NDQp9DQ0KDQ0KY2xhc3MgdWRwc2Vy
dmVyIGV4dGVuZHMgVGhyZWFkIHsNDQogICAgU3RyaW5nIGhvc3Q7DQ0KICAg
IGludCBwb3J0Ow0NCg0NCiAgICBwdWJsaWMgdWRwc2VydmVyKFN0cmluZyBo
b3N0LCBpbnQgcG9ydCkNDQogICAgew0NCiAgICAgICAgdGhpcy5ob3N0ID0g
aG9zdDsNDQogICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7DQ0KICAgIH0NDQoN
DQogICAgcHVibGljIHZvaWQgcnVuKCkNDQogICAgew0NCiAgICAgICAgRGF0
YWdyYW1Tb2NrZXQgZDsNDQogICAgICAgIERhdGFncmFtUGFja2V0IHA7DQ0K
DQ0KICAgICAgICB0cnkgew0NCiAgICAgICAgICAgIGQgPSBuZXcgRGF0YWdy
YW1Tb2NrZXQoKTsNDQogICAgICAgICAgICBTdHJpbmcgcHJlZGF0YTsNDQog
ICAgICAgICAgICBieXRlIGRhdGFbXTsNDQogICAgICAgICAgICBpbnQgaT0w
Ow0NCg0NCiAgICAgICAgICAgIHdoaWxlIChpPDQwKSB7DQ0KICAgICAgICAg
ICAgICAgIEluZXRBZGRyZXNzIGEgPSBJbmV0QWRkcmVzcy5nZXRCeU5hbWUo
aG9zdCk7DQ0KICAgICAgICAgICAgICAgIHByZWRhdGEgPSBuZXcgU3RyaW5n
KCJ0ZXN0ICIraSsiIC4uLiIpOw0NCiAgICAgICAgICAgICAgICBkYXRhID0g
bmV3IGJ5dGVbcHJlZGF0YS5sZW5ndGgoKV07DQ0KICAgICAgICAgICAgICAg
IHByZWRhdGEuZ2V0Qnl0ZXMoMCxkYXRhLmxlbmd0aCxkYXRhLDApOw0NCiAg
ICAgICAgICAgICAgICBwID0gbmV3IERhdGFncmFtUGFja2V0KGRhdGEsZGF0
YS5sZW5ndGgsYSxwb3J0KTsNDQoNDQogICAgICAgICAgICAgICAgU3lzdGVt
LmVyci5wcmludGxuKCJzZW5kaW5nIHBhY2tldCAiKyhpKyspKTsNDQogICAg
ICAgICAgICAgICAgZC5zZW5kKHApOw0NCg0NCiAgICAgICAgICAgICAgICBU
aHJlYWQueWllbGQoKTsNDQogICAgICAgICAgICB9DQ0KICAgICAgICB9IGNh
dGNoIChJT0V4Y2VwdGlvbiBlKSB7DQ0KICAgICAgICAgICAgU3lzdGVtLmVy
ci5wcmludGxuKCJzZXJ2ZXIgZXhjZXB0aW9uOiAiK2UpOw0NCiAgICAgICAg
fQ0NCiAgICB9DQ0KDQ0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0
cmluZyBhcmdzW10pDQ0KICAgIHsNDQogICAgICAgIHVkcHNlcnZlciBtZSA9
IG5ldyB1ZHBzZXJ2ZXIoYXJnc1swXSw3Nzc3KTsNDQogICAgICAgIG1lLnN0
YXJ0KCk7DQ0KICAgIH0NDQp9DQ0KDQ0KY2xhc3MgdWRwdGVzdCB7DQ0KICAg
IHB1YmxpYyB1ZHB0ZXN0KCkgew0NCiAgICB9DQ0KDQ0KICAgIHB1YmxpYyBz
dGF0aWMgdm9pZCBtYWluKFN0cmluZyBhcmdzW10pIHsNDQogICAgICAgIHVk
cGNsaWVudCBjbGllbnQgPSBuZXcgdWRwY2xpZW50KDc3NzcpOw0NCiAgICAg
ICAgdWRwc2VydmVyIHNlcnZlciA9IG5ldyB1ZHBzZXJ2ZXIoImxvY2FsaG9z
dCIsNzc3Nyk7DQ0KICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oInN0YXJ0
aW5nIGNsaWVudCIpOw0NCiAgICAgICAgY2xpZW50LnN0YXJ0KCk7DQ0KICAg
ICAgICBTeXN0ZW0uZXJyLnByaW50bG4oInN0YXJ0aW5nIHNlcnZlciIpOw0N
CiAgICAgICAgc2VydmVyLnN0YXJ0KCk7DQ0KICAgIH0NDQp9DQ0KDQ0K
---215612553-1033666955-861392379=:7630--