delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/10/16/16:37:20

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
Subject: pthread_mutexattr_init problem
MIME-Version: 1.0
Date: Thu, 16 Oct 2003 22:36:58 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Message-ID: <A3D1526C98B7C1409A687E0943EAC41015E300@obelix.askesis.nl>
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
From: "Joost Kraaijeveld" <J DOT Kraaijeveld AT Askesis DOT nl>
To: "Cygwin (E-mail)" <cygwin AT cygwin DOT com>

------=_NextPart_000_004C_01C39436.02252740
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi all,

Can anyone explain to me under what circumstances pthread_mutexattr_init
returns EBUSY? I read the explanations in
http://sources.redhat.com/ml/cygwin/2003-06/msg00431.html and
http://www.opengroup.org/onlinepubs/007904975/functions/pthread_mutexatt
r_init.html and from that I understand that  pthread_mutexattr_init
returns EBUSY if one tries to initialize twice. However I get the error
in the following part of  code (see below & the arrows on the left). The
initialization is done only once. 

Note:

If I initialize pthread_mutexattr_t m_attr with 0 (because it's actually
a pointer to a struct according to <sys/types>) the code runs OK. This
looks strange to me. Why should I have to initialize a
pthread_mutexattr_t by any other means than by calling
pthread_mutexattr_init ?

MICOMT::Mutex::Mutex(MICO_Boolean locked, Attribute attr)
{
    int result;
    pthread_mutexattr_t m_attr /* = 0 */; <-----
--> result = pthread_mutexattr_init(&m_attr);
--> assert(!result);           
    if (attr != Normal) {
	switch (attr) {
	case Recursive:
          result =
pthread_mutexattr_settype(&m_attr,PTHREAD_MUTEX_RECURSIVE);
	    assert (!result);
	    break;
	default:
	    break;
	}
    }
    result = pthread_mutex_init(&_mutex, &m_attr);
    assert(!result);
    result = pthread_mutexattr_destroy(&m_attr); 
    assert(!result);
    if (locked)
	this->lock();
}

TIA

Joost Kraaijeveld
Askesis B.V.
Molukkenstraat 14
6524NB Nijmegen
tel: 024-3888063 / 06-51855277
fax: 024-3608416
email: J DOT Kraaijeveld AT Askesis DOT nl
web: www.askesis.nl 


 

------=_NextPart_000_004C_01C39436.02252740
Content-Type: application/x-pkcs7-signature;
	name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFyjCCAoow
ggHzoAMCAQICAwmcrjANBgkqhkiG9w0BAQQFADCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdl
c3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsT
FENlcnRpZmljYXRlIFNlcnZpY2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAw
MC44LjMwMB4XDTAzMDMyOTA3NTMxMVoXDTA0MDMyODA3NTMxMVowSjEfMB0GA1UEAxMWVGhhd3Rl
IEZyZWVtYWlsIE1lbWJlcjEnMCUGCSqGSIb3DQEJARYYSi5LcmFhaWpldmVsZEBBc2tlc2lzLm5s
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsebR/TNuW28XXwA1E3XHnT9EFbcLmZl2uFaoT
APeRWEIo/hXei3RA+jgzrsW61aEfcKj9eefxWhrcfREz8F52gFSQZvxVb6Ty0DEiCPjxTHXrq4nY
/uKqflorlZ7ZIv6DBbcAF/tPRisdc8Ah7BEIjqNXoJkUuQtKkz+azzh7nQIDAQABozUwMzAjBgNV
HREEHDAagRhKLktyYWFpamV2ZWxkQEFza2VzaXMubmwwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0B
AQQFAAOBgQCtpEwsyJ+hpnaHuY1yXeGb77VUhtsHw/RVhuUUqUz45asm9c38HM15PO770kWGlVNI
bjoMU/S52haE8WpbMU7Z1fd33EB8+tpEYUf7FdHE2cLiVO4/qZOIcPuwitE3rCYrNr+WdBcQsCAi
MmTyYRo0D9G3rrAKY+H+PvZbSr4pMTCCAzgwggKhoAMCAQICEGZFcrfMdPXPY3ZFhNAukQEwDQYJ
KoZIhvcNAQEEBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNV
BAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRp
ZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVl
bWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0w
MDA4MzAwMDAwMDBaFw0wNDA4MjcyMzU5NTlaMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2Vz
dGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMU
Q2VydGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJTQSAyMDAw
LjguMzAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAN4zMqZjxwklRT7SbngnZ4HF2ogZgpcO
40QpimM1Km1wPPrcrvfudG8wvDOQf/k0caCjbZjxw0+iZdsN+kvx1t1hpfmFzVWaNRqdknWoJ67Y
cvm6AvbXsJHeHOmr4BgDqHxDQlBRh4M88Dm0m1SKE4f/s5udSWYALQmJ7JRr6aFpAgMBAAGjTjBM
MCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwxLTI5NzASBgNVHRMBAf8ECDAG
AQH/AgEAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQQFAAOBgQAxsUtHXfkBceX1U2xdedY9mMAm
E2KBIqcS+CKV6BtJtyd7BDm6/ObyJOuR+r3sDSo491BVqGz3Da1MG7wD9LXrokefbKIMWI0xQgkR
bLAaadErErJAXWr5edDqLiXdiuT82w0fnQLzWtvKPPZE6iZph39Ins6ln+eE2MliYq0FxjGCAqow
ggKmAgEBMIGaMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH
EwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUQ2VydGlmaWNhdGUgU2Vydmlj
ZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJTQSAyMDAwLjguMzACAwmcrjAJBgUrDgMC
GgUAoIIBZTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wMzEwMTYy
MDM2NThaMCMGCSqGSIb3DQEJBDEWBBRQpGmTPNbsjV3/GXIJNvEyQTxAajBYBgkqhkiG9w0BCQ8x
SzBJMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDAH
BgUrDgMCGjAKBggqhkiG9w0CBTCBqwYJKwYBBAGCNxAEMYGdMIGaMIGSMQswCQYDVQQGEwJaQTEV
MBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0
ZTEdMBsGA1UECxMUQ2VydGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVt
YWlsIFJTQSAyMDAwLjguMzACAwmcrjANBgkqhkiG9w0BAQEFAASBgGFCWed2hc1tvy1cV4T4WOBo
bfnSQ2btDvtp7yek8YyZiuQmSzp7AgRJeCZ2i65QhviKrU50fLlb0gfBxY0ldV6EIvYe7iJntmYq
sKJr3oasucdhlmxKqk9POUqPTMEJ08A7eAryaq29u3UVf5073CSE3NbqWoCbADRyc29ZGTWnAAAA
AAAA

------=_NextPart_000_004C_01C39436.02252740--

- Raw text -


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