delorie.com/archives/browse.cgi | search |
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--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |