From mboxrd@z Thu Jan 1 00:00:00 1970 From: "wangwei" To: Subject: [ECOS] help in tcp/ip stack !!! Date: Mon, 04 Jun 2001 18:07:00 -0000 Message-id: <002e01c0ed5a$f6e339a0$592da8c0@start.com.cn> X-SW-Source: 2001-06/msg00080.html Content-type: multipart/mixed; boundary="----------=_1583532889-474-28" This is a multi-part message in MIME format... ------------=_1583532889-474-28 Content-length: 886 Hi,all help me !! I make a tcp server in ecos. when client connect with it , appliaction dynamically create a thread to communicate with client. the client is running in linux, and can be run in background . At normal, the server can running stably. When I make a shell to run lots of client program in background,more than 30 clients,the server in ecos give "EXH 4" error. In this application, My memory in ecos is more than 3M ,there is enough memory for malloc. And when thread which run server program is ended, the memory it used can be free .So I think memory cann't cause this problem. I had met the "EXH 4" error before . When I try ipaq nanox package in ecos , it call nanosleep() in a no posix thread , and cause a "EXH 4" error. so I suspect it is caused by the same reason .but I can't find out . The program is in attachment . Does anybody read it and help me !! thanks. ------------=_1583532889-474-28 Content-Type: text/plain; charset=us-ascii; name="my_thread.h" Content-Disposition: inline; filename="my_thread.h" Content-Transfer-Encoding: base64 Content-Length: 366 dHlwZWRlZiBzdHJ1Y3QgRVhURU5EX1RIUkVBRF9QQVJBTSB7CgljaGFyIHRo cmVhZF9uYW1lWzUwXTsKCWN5Z19oYW5kbGVfdCBoYW5kbGU7Cgl2b2lkICog c3RhY2tfYmFzZTsKCXZvaWQgKiBtZW1wOwoJY3lnX3RocmVhZCB0aHJlYWRf aW5zdGFuY2U7Cgl2b2lkICogcHJpdmF0ZTsKCX0gRXh0ZW5kX1RocmVhZF9Q YXJhbTsKdHlwZWRlZiBzdHJ1Y3QgQ0xJRU5UX0RBVEF7CglpbnQgc2ZkOwoJ c3RydWN0IHNvY2thZGRyX2luIGNsaWFkZHI7Cgl9IGNsaWVudF9kYXRhOwo= ------------=_1583532889-474-28 Content-Type: text/x-c; charset=us-ascii; name="tcp_test.c" Content-Disposition: inline; filename="tcp_test.c" Content-Transfer-Encoding: base64 Content-Length: 5234 I2luY2x1ZGUgPGN5Zy9rZXJuZWwva2FwaS5oPgojaW5jbHVkZSA8c3RkaW8u aD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNp bmNsdWRlIDxuZXR3b3JrLmg+CiNpbmNsdWRlIDxwa2djb25mL25ldC5oPgoj aW5jbHVkZSA8cGtnY29uZi9zeXN0ZW0uaD4KI2luY2x1ZGUgPGN5Zy9pbmZy YS90ZXN0Y2FzZS5oPgojaW5jbHVkZSAibXlfdGhyZWFkLmgiCgpzdGF0aWMg Y3lnX21ib3ggbWJveDAsbWJveDE7CnN0YXRpYyBjeWdfaGFuZGxlX3QgbTAs bTE7CmN5Z190aHJlYWQgdGRlYW1vbix0Y3JlYXRlcjsKY3lnX2hhbmRsZV90 IGhfZGVhbW9uLGhfY3JlYXRlcjsKc3RhdGljIGludCBsaXZpbmdfdGhyZWFk OwoKI2RlZmluZSBUSFJFQUROQU1FICJ0ZXN0dGhyZWFkIgoKI2RlZmluZSBU SFJFQURfU1RBQ0tfU0laRSA0MDk2CmNoYXIgc3RhY2tbMl1bVEhSRUFEX1NU QUNLX1NJWkVdOwoKZXh0ZXJuIHZvaWQgKiBNYWxsb2NfVGhyZWFkKGludCBz aXplKQp7CiAgICAgICAgaW50IHRydWVfc2l6ZTsKCXZvaWQgKnA7CglFeHRl bmRfVGhyZWFkX1BhcmFtICp0cDsKICAgICAgICAvLyB0aGUgdHJ1ZV9zaXpl IHdpbGwgaW5jbHVkZSB0aGUgdGhyZWFkIHBhcmFtZXRlcgogICAgICAgIHRy dWVfc2l6ZT1zaXplK3NpemVvZihFeHRlbmRfVGhyZWFkX1BhcmFtKTsKICAg ICAgICBwPW1hbGxvYyh0cnVlX3NpemUpOyAgICAgCgl0cD0oRXh0ZW5kX1Ro cmVhZF9QYXJhbSAqKSBwOwoJdHAtPm1lbXA9cDsKCXRwLT5zdGFja19iYXNl PXArc2l6ZW9mKEV4dGVuZF9UaHJlYWRfUGFyYW0pOwoJcmV0dXJuIHA7Cn0K CnZvaWQgdGVzdCggRXh0ZW5kX1RocmVhZF9QYXJhbSAqcCkKCnsKCUV4dGVu ZF9UaHJlYWRfUGFyYW0gbXlfdGhyZWFkX3BhcmFtOwoJY2xpZW50X2RhdGEg KmNsaWRhdGE7CgljaGFyIG5ldF9hZGRyWzE2XSwqYWRkcixzdHJbMjBdOwoJ aW50IGksajsKCglzcHJpbnRmKHN0ciwiMDEyMzQ1Njc4OVxuIik7CgliemVy byhuZXRfYWRkcixzaXplb2YobmV0X2FkZHIpKTsKCW15X3RocmVhZF9wYXJh bT0qcDsKCWNsaWRhdGE9bXlfdGhyZWFkX3BhcmFtLnByaXZhdGU7CglhZGRy PWluZXRfbnRvYShjbGlkYXRhLT5jbGlhZGRyLnNpbl9hZGRyKTsKCXNwcmlu dGYobmV0X2FkZHIsIiVzIixhZGRyKTsKCS8vcHJpbnRmKCJ0aGUgc3RhY2sg aXMgJXhcbiIsKHVuc2lnbmVkIGludCApIHApOwoJLy9kaWFnX3ByaW50Zigi Y29ubmVjdCBieSAlcywweCV4XG4iLG5ldF9hZGRyLGNsaWRhdGEtPmNsaWFk ZHIuc2luX3BvcnQpOwoJaT1yYW5kKCklNTA7Cglmb3Ioaj0wO2o8aTtqKysp CgkgIHdyaXRlKGNsaWRhdGEtPnNmZCxzdHIsMTEpOwoJCgljbG9zZShjbGlk YXRhLT5zZmQpOwoJZnJlZShjbGlkYXRhKTsKCWN5Z19tYm94X3B1dChtMCwo dm9pZCAqKSZteV90aHJlYWRfcGFyYW0pOwoJCgkKCgkvKgoJLy9wcmludGYo IiVzIFBhcmFtX3RocmVhZF9wYXJhbSBhZGRyZXNzIGlzICV4XG4iLHAtPnRo cmVhZF9uYW1lLAoJLy8JCShjeWdfYWRkcndvcmRfdCkmbXlfdGhyZWFkX3Bh cmFtKTsKCWN5Z190aHJlYWRfZGVsYXkoMTAwK3JhbmQoKSUyMDAwKTsKCS8v cHJpbnRmKCIlcyBpcyBlbmQgXG4iLG15X3RocmVhZF9wYXJhbS50aHJlYWRf bmFtZSk7CgljeWdfbWJveF9wdXQobTAsKHZvaWQgKikmbXlfdGhyZWFkX3Bh cmFtKTsKCSovCn0KCgp2b2lkIGRlYW1vbl90aHJlYWQodm9pZCkKewoJRXh0 ZW5kX1RocmVhZF9QYXJhbSAgKnAsVGhyZWFkUGFyYW07Cgl3aGlsZSgxKQoJ ewoJIHA9KEV4dGVuZF9UaHJlYWRfUGFyYW0gKikgY3lnX21ib3hfZ2V0KG0w KTsKCSBUaHJlYWRQYXJhbT0qcDsKCSBjeWdfdGhyZWFkX2tpbGwoVGhyZWFk UGFyYW0uaGFuZGxlKTsKCSBmcmVlKFRocmVhZFBhcmFtLm1lbXApOwoJIGxp dmluZ190aHJlYWQtLTsKCX0KfQoKdm9pZCB0aHJlYWRfY3JlYXRlcigpCnsK CUV4dGVuZF9UaHJlYWRfUGFyYW0gKnRwOwoJdm9pZCAqcDsKCWludCBzZmQ7 CglzdHJ1Y3Qgc29ja2FkZHJfaW4gc29ja19ob3N0OwoJCiAgICAJaW5pdF9h bGxfbmV0d29ya19pbnRlcmZhY2VzKCk7Ci8vCVROUl9JTklUKCk7CglkaWFn X3ByaW50Zigibm93IHNlcnZlciBjb21lIGluXG4iKTsKCglzZmQ9c29ja2V0 KEFGX0lORVQsU09DS19TVFJFQU0sMCk7Cglzb2NrX2hvc3Quc2luX2ZhbWls eT1BRl9JTkVUOwoJc29ja19ob3N0LnNpbl9wb3J0PWh0b25zKDkwMDEpOwoJ c29ja19ob3N0LnNpbl9hZGRyLnNfYWRkcj1odG9ubChJTkFERFJfQU5ZKTsK CWJpbmQoc2ZkLChzdHJ1Y3Qgc29ja2FkZHIgKikmc29ja19ob3N0LHNpemVv Zihzb2NrX2hvc3QpKTsKCWxpc3RlbihzZmQsOCk7Cgl3aGlsZSgxKQoJewoJ IGNsaWVudF9kYXRhICpjbGllbnQ7CgkgaW50IGNsaWFkZHJfbGVuPXNpemVv ZihjbGllbnQtPmNsaWFkZHIpLGk7CgkgY2xpZW50PW1hbGxvYyhzaXplb2Yo Y2xpZW50X2RhdGEpKTsgCgkgY2xpZW50LT5zZmQ9YWNjZXB0KHNmZCwoc3Ry dWN0IHNvY2thZGRyICopJihjbGllbnQtPmNsaWFkZHIpLCZjbGlhZGRyX2xl bik7CgkgewoJICAgcD1NYWxsb2NfVGhyZWFkKFRIUkVBRF9TVEFDS19TSVpF KTsKCSAgIHRwPShFeHRlbmRfVGhyZWFkX1BhcmFtICopcDsKCSAgIHNwcmlu dGYodHAtPnRocmVhZF9uYW1lLCJjbGllbnQlZCIsaSk7CgkgICBpKys7Cgkg ICB0cC0+cHJpdmF0ZT1jbGllbnQ7CgkgICBjeWdfdGhyZWFkX2NyZWF0ZSgx NCx0ZXN0LChjeWdfYWRkcndvcmRfdCl0cCwKCQkJdHAtPnRocmVhZF9uYW1l LHRwLT5zdGFja19iYXNlLFRIUkVBRF9TVEFDS19TSVpFLAoJCQkmKHRwLT5o YW5kbGUpLCYodHAtPnRocmVhZF9pbnN0YW5jZSkpOwoJICAgY3lnX3RocmVh ZF9yZXN1bWUodHAtPmhhbmRsZSk7CgkgICBsaXZpbmdfdGhyZWFkKys7Cgkg fQoJfQovLwlUTlJfUFJJTlRfQUNUSVZJVFkoKTsKCSAKLyoKCWludCBpPTAs ajsKCWxpdmluZ190aHJlYWQ9MDsKCWZvcig7OykKCXsKCSBmb3Ioaj0wO2o8 MTAwO2orKyl7CgkgcD1NYWxsb2NfVGhyZWFkKFRIUkVBRF9TVEFDS19TSVpF KTsKCSB0cD0oRXh0ZW5kX1RocmVhZF9QYXJhbSAqKXA7Cgkgc3ByaW50Zih0 cC0+dGhyZWFkX25hbWUsIiVzJWQiLFRIUkVBRE5BTUUsaSk7CgkgY3lnX3Ro cmVhZF9jcmVhdGUoMTQsdGVzdCwoY3lnX2FkZHJ3b3JkX3QpdHAsCgkJCXRw LT50aHJlYWRfbmFtZSx0cC0+c3RhY2tfYmFzZSxUSFJFQURfU1RBQ0tfU0la RSwKCQkJJih0cC0+aGFuZGxlKSwmKHRwLT50aHJlYWRfaW5zdGFuY2UpKTsK CSBjeWdfdGhyZWFkX3Jlc3VtZSh0cC0+aGFuZGxlKTsKCSBpKys7bGl2aW5n X3RocmVhZCsrOwoJIH0KCSBwcmludGYoInRocmVhZCBjcmVhdGVkICVkLGxl YXZlICVkXG4iLGksbGl2aW5nX3RocmVhZCk7CgkgY3lnX3RocmVhZF9kZWxh eSgxMDAwKTsKCX0KKi8KfQoKdm9pZCBjeWdfdXNlcl9zdGFydCh2b2lkKQp7 CiAgCiAgICBjeWdfbWJveF9jcmVhdGUoJm0wLCZtYm94MCk7CiAgICBjeWdf bWJveF9jcmVhdGUoJm0xLCZtYm94MSk7CiAgICAKCiAgICBjeWdfdGhyZWFk X2NyZWF0ZSgxMSx0aHJlYWRfY3JlYXRlciwoY3lnX2FkZHJ3b3JkX3QpMCwK CQkgICAgICJUaHJlYWQgY3JlYXRlIiwodm9pZCAqKXN0YWNrWzBdLFRIUkVB RF9TVEFDS19TSVpFLAoJCSAgICAgJmhfY3JlYXRlciwmdGNyZWF0ZXIpOwog ICAgY3lnX3RocmVhZF9jcmVhdGUoMTAsZGVhbW9uX3RocmVhZCwoY3lnX2Fk ZHJ3b3JkX3QpMCwKCQkgICAgICJUaHJlYWQgZGVhbW9uIiwodm9pZCAqKXN0 YWNrWzFdLFRIUkVBRF9TVEFDS19TSVpFLAoJCSAgICAgJmhfZGVhbW9uLCZ0 ZGVhbW9uKTsKICAgIGN5Z190aHJlYWRfcmVzdW1lKGhfZGVhbW9uKTsKICAg IGN5Z190aHJlYWRfcmVzdW1lKGhfY3JlYXRlcik7Cn0KCg== ------------=_1583532889-474-28--