www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/06/02/10:12:01

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--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019