misc/143807: pthread_create retval check fixup

pluknet pluknet at gmail.com
Thu Feb 11 17:10:27 UTC 2010


The following reply was made to PR misc/143807; it has been noted by GNATS.

From: pluknet <pluknet at gmail.com>
To: bug-followup at FreeBSD.org, pluknet at gmail.com
Cc:  
Subject: Re: misc/143807: pthread_create retval check fixup
Date: Thu, 11 Feb 2010 20:08:29 +0300

 --0016e6567e562982ec047f563345
 Content-Type: text/plain; charset=ISO-8859-1
 
 [After more thoughts.. ]
 
 all pthread_* functions used in netrate/ have to check for non-zero on
 error, so I prepared the second version.
 (perhaps subj should be called incorrect pthread(3) error checking in
 tools/tools/netrate/..)
 
 -- 
 wbr,
 pluknet
 
 --0016e6567e562982ec047f563345
 Content-Type: text/plain; charset=US-ASCII; name="netrate_pthread_errcode_fixup2.txt"
 Content-Disposition: attachment; 
 	filename="netrate_pthread_errcode_fixup2.txt"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_g5jsz6xw0
 
 SW5kZXg6IHRvb2xzL3Rvb2xzL25ldHJhdGUvaHR0cC9odHRwLmMKPT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdG9v
 bHMvdG9vbHMvbmV0cmF0ZS9odHRwL2h0dHAuYwkocmV2aXNpb24gMjAzNzgxKQorKysgdG9vbHMv
 dG9vbHMvbmV0cmF0ZS9odHRwL2h0dHAuYwkod29ya2luZyBjb3B5KQpAQCAtMzAwLDcgKzMwMCw3
 IEBACiAKIAlpZiAodGhyZWFkZWQpIHsKIAkJaWYgKHB0aHJlYWRfYmFycmllcl9pbml0KCZzdGF0
 ZXAtPnN0YXJ0X2JhcnJpZXIsIE5VTEwsCi0JCSAgICBudW10aHJlYWRzKSA8IDApCisJCSAgICBu
 dW10aHJlYWRzKSAhPSAwKQogCQkJZXJyKC0xLCAicHRocmVhZF9tdXRleF9pbml0Iik7CiAJfQog
 CkBAIC0zMDgsNyArMzA4LDcgQEAKIAkJc3RhdGVwLT5od2RbaV0uaHdkX2NvdW50ID0gMDsKIAkJ
 aWYgKHRocmVhZGVkKSB7CiAJCQlpZiAocHRocmVhZF9jcmVhdGUoJnN0YXRlcC0+aHdkW2ldLmh3
 ZF90aHJlYWQsIE5VTEwsCi0JCQkgICAgaHR0cF93b3JrZXIsICZzdGF0ZXAtPmh3ZFtpXSkgPCAw
 KQorCQkJICAgIGh0dHBfd29ya2VyLCAmc3RhdGVwLT5od2RbaV0pICE9IDApCiAJCQkJZXJyKC0x
 LCAicHRocmVhZF9jcmVhdGUiKTsKIAkJfSBlbHNlIHsKIAkJCWN1cnRocmVhZCA9IGk7CkBAIC0z
 MzksNyArMzM5LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgbnVtdGhyZWFkczsgaSsrKSB7CiAJCWlm
 ICh0aHJlYWRlZCkgewogCQkJaWYgKHB0aHJlYWRfam9pbihzdGF0ZXAtPmh3ZFtpXS5od2RfdGhy
 ZWFkLCBOVUxMKQotCQkJICAgIDwgMCkKKwkJCSAgICAhPSAwKQogCQkJCWVycigtMSwgInB0aHJl
 YWRfam9pbiIpOwogCQl9IGVsc2UgewogCQkJcGlkID0gd2FpdHBpZChzdGF0ZXAtPmh3ZFtpXS5o
 d2RfcGlkLCBOVUxMLCAwKTsKSW5kZXg6IHRvb2xzL3Rvb2xzL25ldHJhdGUvaHR0cGQvaHR0cGQu
 Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09Ci0tLSB0b29scy90b29scy9uZXRyYXRlL2h0dHBkL2h0dHBkLmMJKHJldmlz
 aW9uIDIwMzc4MSkKKysrIHRvb2xzL3Rvb2xzL25ldHJhdGUvaHR0cGQvaHR0cGQuYwkod29ya2lu
 ZyBjb3B5KQpAQCAtMjgwLDcgKzI4MCw3IEBACiAJZm9yIChpID0gMDsgaSA8IFRIUkVBRFM7IGkr
 KykgewogCQlpZiAodGhyZWFkZWQpIHsKIAkJCWlmIChwdGhyZWFkX2NyZWF0ZSgmc3RhdGVwLT5o
 dHNbaV0uaHRzX3RocmVhZCwgTlVMTCwKLQkJCSAgICBodHRwZF93b3JrZXIsICZzdGF0ZXAtPmh0
 c1tpXSkgPCAwKQorCQkJICAgIGh0dHBkX3dvcmtlciwgJnN0YXRlcC0+aHRzW2ldKSAhPSAwKQog
 CQkJCWVycigtMSwgInB0aHJlYWRfY3JlYXRlIik7CiAJCX0gZWxzZSB7CiAJCQlwaWQgPSBmb3Jr
 KCk7CkBAIC0yOTksNyArMjk5LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgVEhSRUFEUzsgaSsrKSB7
 CiAJCWlmICh0aHJlYWRlZCkgewogCQkJaWYgKHB0aHJlYWRfam9pbihzdGF0ZXAtPmh0c1tpXS5o
 dHNfdGhyZWFkLCBOVUxMKQotCQkJICAgIDwgMCkKKwkJCSAgICAhPSAwKQogCQkJCWVycigtMSwg
 InB0aHJlYWRfam9pbiIpOwogCQl9IGVsc2UgewogCQkJcGlkID0gd2FpdHBpZChzdGF0ZXAtPmh0
 c1tpXS5odHNfcGlkLCBOVUxMLCAwKTsKSW5kZXg6IHRvb2xzL3Rvb2xzL25ldHJhdGUvanVnZ2xl
 L2p1Z2dsZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT0KLS0tIHRvb2xzL3Rvb2xzL25ldHJhdGUvanVnZ2xlL2p1Z2ds
 ZS5jCShyZXZpc2lvbiAyMDM3ODEpCisrKyB0b29scy90b29scy9uZXRyYXRlL2p1Z2dsZS9qdWdn
 bGUuYwkod29ya2luZyBjb3B5KQpAQCAtMzAxLDE1ICszMDEsMTUgQEAKIAogCWZkMiA9ICooaW50
 ICopYXJnOwogCi0JaWYgKHB0aHJlYWRfbXV0ZXhfbG9jaygmdGhyZWFkZWRfbXR4KSA8IDApCisJ
 aWYgKHB0aHJlYWRfbXV0ZXhfbG9jaygmdGhyZWFkZWRfbXR4KSAhPSAwKQogCQllcnIoLTEsICJq
 dWdnbGluZ190aHJlYWQ6IHB0aHJlYWRfbXV0ZXhfbG9jayIpOwogCiAJdGhyZWFkZWRfY2hpbGRf
 cmVhZHkgPSAxOwogCi0JaWYgKHB0aHJlYWRfY29uZF9zaWduYWwoJnRocmVhZGVkX2NvbmQpIDwg
 MCkKKwlpZiAocHRocmVhZF9jb25kX3NpZ25hbCgmdGhyZWFkZWRfY29uZCkgIT0gMCkKIAkJZXJy
 KC0xLCAianVnZ2xpbmdfdGhyZWFkOiBwdGhyZWFkX2NvbmRfc2lnbmFsIik7CiAKLQlpZiAocHRo
 cmVhZF9tdXRleF91bmxvY2soJnRocmVhZGVkX210eCkgPCAwKQorCWlmIChwdGhyZWFkX211dGV4
 X3VubG9jaygmdGhyZWFkZWRfbXR4KSAhPSAwKQogCQllcnIoLTEsICJqdWdnbGluZ190aHJlYWQ6
 IHB0aHJlYWRfbXV0ZXhfdW5sb2NrIik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgTlVNQ1lDTEVTOyBp
 KyspIHsKQEAgLTMzNCwyMSArMzM0LDIxIEBACiAKIAl0aHJlYWRlZF9waXBlbGluZSA9IHBpcGVs
 aW5lOwogCi0JaWYgKHB0aHJlYWRfbXV0ZXhfaW5pdCgmdGhyZWFkZWRfbXR4LCBOVUxMKSA8IDAp
 CisJaWYgKHB0aHJlYWRfbXV0ZXhfaW5pdCgmdGhyZWFkZWRfbXR4LCBOVUxMKSAhPSAwKQogCQll
 cnIoLTEsICJ0aHJlYWRfanVnZ2xlOiBwdGhyZWFkX211dGV4X2luaXQiKTsKIAotCWlmIChwdGhy
 ZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLCBqdWdnbGluZ190aHJlYWQsICZmZDIpIDwgMCkKKwlp
 ZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwganVnZ2xpbmdfdGhyZWFkLCAmZmQyKSAh
 PSAwKQogCQllcnIoLTEsICJ0aHJlYWRfanVnZ2xlOiBwdGhyZWFkX2NyZWF0ZSIpOwogCi0JaWYg
 KHB0aHJlYWRfbXV0ZXhfbG9jaygmdGhyZWFkZWRfbXR4KSA8IDApCisJaWYgKHB0aHJlYWRfbXV0
 ZXhfbG9jaygmdGhyZWFkZWRfbXR4KSAhPSAwKQogCQllcnIoLTEsICJ0aHJlYWRfanVnZ2xlOiBw
 dGhyZWFkX211dGV4X2xvY2siKTsKIAogCXdoaWxlICghdGhyZWFkZWRfY2hpbGRfcmVhZHkpIHsK
 LQkJaWYgKHB0aHJlYWRfY29uZF93YWl0KCZ0aHJlYWRlZF9jb25kLCAmdGhyZWFkZWRfbXR4KSA8
 IDApCisJCWlmIChwdGhyZWFkX2NvbmRfd2FpdCgmdGhyZWFkZWRfY29uZCwgJnRocmVhZGVkX210
 eCkgIT0gMCkKIAkJCWVycigtMSwgInRocmVhZF9qdWdnbGU6IHB0aHJlYWRfY29uZF93YWl0Iik7
 CiAJfQogCi0JaWYgKHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ0aHJlYWRlZF9tdHgpIDwgMCkKKwlp
 ZiAocHRocmVhZF9tdXRleF91bmxvY2soJnRocmVhZGVkX210eCkgIT0gMCkKIAkJZXJyKC0xLCAi
 dGhyZWFkX2p1Z2dsZTogcHRocmVhZF9tdXRleF91bmxvY2siKTsKIAogCWlmIChjbG9ja19nZXR0
 aW1lKENMT0NLX1JFQUxUSU1FLCAmdHN0YXJ0KSA8IDApCkBAIC0zNjksNyArMzY5LDcgQEAKIAlp
 ZiAoY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwgJnRmaW5pc2gpIDwgMCkKIAkJZXJyKC0x
 LCAidGhyZWFkX2p1Z2dsZTogY2xvY2tfZ2V0dGltZSIpOwogCi0JaWYgKHB0aHJlYWRfam9pbih0
 aHJlYWQsIE5VTEwpIDwgMCkKKwlpZiAocHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCkgIT0gMCkK
 IAkJZXJyKC0xLCAidGhyZWFkX2p1Z2dsZTogcHRocmVhZF9qb2luIik7CiAKIAl0aW1lc3BlY3N1
 YigmdGZpbmlzaCwgJnRzdGFydCk7Cg==
 --0016e6567e562982ec047f563345--


More information about the freebsd-bugs mailing list