www.delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-SWARE-Spam-Status: | No, hits=-1.3 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS |
X-Spam-Check-By: | sourceware.org |
MIME-Version: | 1.0 |
Date: | Tue, 2 Jun 2009 16:11:39 +0200 |
Message-ID: | <9bfd07db0906020711p328add96h4314d412b817048c@mail.gmail.com> |
Subject: | [1.7] pthread_mutex_lock/pthread_mutex_unlock strange blocking problem |
From: | Thomas Stalder <cygwinml AT gmail DOT com> |
To: | cygwin AT cygwin DOT com |
X-IsSubscribed: | yes |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
--001636c5b68018751a046b5e1f4f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, Sometimes pthread_mutex_lock ou pthread_mutex_unlock block. In order to reproduce the problem, I have made a test application (test.c) who always block $ gcc test.c -o test $ ./test thread id=1 after pthread_create 1 after pthread_create 2 thread id=2 thread id=3 after pthread_create 3 after pthread_create 4 thread id=4 thread id=5 after pthread_create 5 thread id=6 after pthread_create 6 after pthread_create 7 The application can create 1,2,3 threads or many more before blocking. -- Thomas --001636c5b68018751a046b5e1f4f Content-Type: text/plain; charset=US-ASCII; name="test.c" Content-Disposition: attachment; filename="test.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fvgoiiuw0 I2luY2x1ZGUgPHN0ZGlvLmg+IAojaW5jbHVkZSA8c3RkbGliLmg+IAojaW5j bHVkZSA8cHRocmVhZC5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CgoKc3RhdGlj IHB0aHJlYWRfbXV0ZXhfdCBteV9tdXRleCA9IFBUSFJFQURfTVVURVhfSU5J VElBTElaRVI7CnN0YXRpYyBwdGhyZWFkX211dGV4X3QgbXlfbXV0ZXgyID0g UFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKaW50IG5iX3RocmVhZD0wOwoK dm9pZCAqdGhyZWFkX2Z1bmModm9pZCAqcGFybSkKewoJaW50IGlkOwoJcHRo cmVhZF9tdXRleF9sb2NrKCZteV9tdXRleCk7CgluYl90aHJlYWQrKzsKCWlk ID0gbmJfdGhyZWFkOwoJcHRocmVhZF9tdXRleF91bmxvY2soJm15X211dGV4 KTsKCQoJcHRocmVhZF9tdXRleF9sb2NrKCZteV9tdXRleDIpOwoJcHJpbnRm KCJ0aHJlYWQgaWQ9JWRcbiIsIGlkKTsKCXB0aHJlYWRfbXV0ZXhfdW5sb2Nr KCZteV9tdXRleDIpOwoKCXB0aHJlYWRfZXhpdCgwKTsKCXJldHVybiBOVUxM Owp9CgppbnQgbWFpbih2b2lkKQp7CglpbnQgdG1wX25iPTA7Cgl3aGlsZSgx KQoJewoJCWludCBlcnIgPSAwOwoJCXB0aHJlYWRfYXR0cl90ICBhdHRyOwoJ CXB0aHJlYWRfdCB0aHJlYWRfaWQ7CgoJCS8qICBJbml0aWFsaXplIHRoZSBh dHRyaWJ1dGUgKi8KCQllcnIgPSBwdGhyZWFkX2F0dHJfaW5pdCgmYXR0cik7 CgkJaWYgKGVycikKCQl7CgkJCXByaW50ZigicHRocmVhZF9hdHRyX2luaXQg ZXJyPSVkXG4iLCBlcnIpOwoJCX0KCQllcnIgPSBwdGhyZWFkX2F0dHJfc2V0 aW5oZXJpdHNjaGVkKCZhdHRyLCBQVEhSRUFEX0lOSEVSSVRfU0NIRUQpOwoJ CWlmIChlcnIpCgkJewoJCQlwcmludGYoInB0aHJlYWRfYXR0cl9zZXRpbmhl cml0c2NoZWQgZXJyb3JcbiIpOwoJCX0KCgkJZXJyID0gcHRocmVhZF9hdHRy X3NldGRldGFjaHN0YXRlKCZhdHRyLFBUSFJFQURfQ1JFQVRFX0RFVEFDSEVE KTsKCQlpZiAoZXJyKQoJCXsKCQkJcHJpbnRmKCJwdGhyZWFkX2F0dHJfc2V0 ZGV0YWNoc3RhdGUgZXJyb3JcbiIpOwoJCX0KCgkJLyogIENyZWF0ZSB0aGUg dGhyZWFkIHdpdGggb3VyIGF0dHJpYnV0ZSAqLwoJCQoJCWVyciA9IHB0aHJl YWRfY3JlYXRlKCZ0aHJlYWRfaWQsICZhdHRyLCB0aHJlYWRfZnVuYywgTlVM TCk7CgkJaWYgKGVycikKCQl7CgkJCXByaW50ZigicHRocmVhZF9jcmVhdGUg ZXJyb3JcbiIpOwoJCX0JCgkJcHRocmVhZF9tdXRleF9sb2NrKCZteV9tdXRl eDIpOwoJCXByaW50ZigiYWZ0ZXIgcHRocmVhZF9jcmVhdGUgJWRcbiIsICsr dG1wX25iKTsKCQlwdGhyZWFkX211dGV4X3VubG9jaygmbXlfbXV0ZXgyKTsK CQlwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7Cgl9Cn0K --001636c5b68018751a046b5e1f4f Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ --001636c5b68018751a046b5e1f4f--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |