Date: Sun, 05 Feb 2012 20:41:15 +0800 From: David Xu <listlog2011@gmail.com> To: Ivan Voras <ivoras@freebsd.org> Cc: Garrett Cooper <yanegomi@gmail.com>, freebsd-hackers@freebsd.org, Xin LI <delphij@delphij.net>, davidxu@freebsd.org, Jan Mikkelsen <janm-freebsd-hackers@transactionware.com> Subject: Re: sem(4) lockup in python? Message-ID: <4F2E78EB.3060007@gmail.com> In-Reply-To: <CAF-QHFVADLkduLH1AG_hSZeDtDVCC=FkqZxbxrsMY3Y3%2BsMZ8A@mail.gmail.com> References: <jejrbe$or8$1@dough.gmane.org> <201201110806.30620.jhb@freebsd.org> <CAF-QHFWFvYTPeM68Mk%2BOYVX--MNhKOJ2o1GF9ZOsBmtiC5fYFQ@mail.gmail.com> <CAGH67wRsek2-WY_ETW6QEER1r5dDXLXfDjbzpHMjtv059Y8cJw@mail.gmail.com> <5D37298B-9D68-4F0F-8AAB-E8F2DBB9D9C3@transactionware.com> <CAGH67wT3HuxPHUXeTib0qJNH%2BO5snn3Eiim1bfj8LewYoKdXdA@mail.gmail.com> <CAF-QHFVADLkduLH1AG_hSZeDtDVCC=FkqZxbxrsMY3Y3%2BsMZ8A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2012/2/5 20:02, Ivan Voras wrote: > On 5 February 2012 11:44, Garrett Cooper<yanegomi@gmail.com> wrote: > >> 'make MAKE_JOBS_NUMBER=1' is the workground used right now.. > David Xu suggested that it is a bug in Python - it doesn't set > process-shared attribute when it calls sem_init(), but i've tried > patching it (replacing the port patchfile file the one I've attached) > and I still get the hang. Although I don't know where is the python bug, since I don't know the piece of source code. But general rule to use anonymous shared semaphore between forked processes is the semaphore should be initialized in shared memory page and sem_init() with pshared set 1, such as: sem_ptr = mmap(MMAP_SHARED); sem_init(sem_ptr, pshared=1, init_value); Regards, David Xu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F2E78EB.3060007>