Mail Archives: cygwin/2009/03/03/22:07:29
--- Mer 4/3/09, Nicholas Sherlock ha scritto:
> Da: Nicholas Sherlock=20
> Oggetto: Cygwin PThreads bug?
> A: cygwin AT cygwin DOT com
> Data: Mercoled=EC 4 marzo 2009, 02:29
> Hey everyone,
>=20
> I'm writing a very thread-intensive application using
> Cygwin and Cygwin's PThreads implementation, and I'm
> running into a few problems. As far as I can tell from the
> spec:
>=20
> http://www.opengroup.org/onlinepubs/000095399/functions/pthread_rwlock_rd=
lock.html
>=20
> This C program:
>=20
> #include <stdio.h>
> #include <pthread.h>
> #include <assert.h>
> #include <errno.h>
>=20
> int main() {
> pthread_rwlock_t rw_lock;
>=20
> pthread_rwlock_init(&rw_lock,NULL);
>=20
> //Lock it once for read...
> assert(pthread_rwlock_rdlock(&rw_lock)=3D=3D0);
>=20=09
> //Lock it again for read...
> int err=3Dpthread_rwlock_rdlock(&rw_lock);
>=20
> printf("Err %d\n", err);
>=20
> assert (err=3D=3DEAGAIN || err=3D=3D0);
>=20
> if (err!=3DEAGAIN)
> pthread_rwlock_unlock(&rw_lock);
>=20
> pthread_rwlock_unlock(&rw_lock);
>=20
> pthread_rwlock_destroy(&rw_lock);
>=20=09
> return 0;
> }
>=20
> Should run correctly. That is, the second call to
> pthread_rwlock_rdlock should either succeed (returning
> zero), having acquired the read lock a second time, or it
> should fail and return EAGAIN, if the number of simultaneous
> allowed read locks has been exceeded. It should not fail and
> return EDEADLK (45), which it is currently doing. Am I
> reading the spec wrong or is Cygwin non-conforming?
>=20
> Cheers,
> Nicholas Sherlock
>=20
>=20
Hi Nicholas,
on=20
$ uname -a
CYGWIN_NT-5.1 ITQMOZCAS2NB007 1.7.0(0.200/5/3) 2009-02-20 17:20 i686 Cygwin
compiled with gcc-4
$ ./pthread.exe=20
Err 0
Regards
Marco
Passa a Yahoo! Mail.
La webmail che ti offre GRATIS spazio illimitato,=20
antispam e messenger integrato.
http://it.mail.yahoo.com/=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
--
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/
- Raw text -