From owner-freebsd-threads@FreeBSD.ORG Thu Sep 23 12:41:30 2010 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B2B51065695 for ; Thu, 23 Sep 2010 12:41:30 +0000 (UTC) (envelope-from alexanderchuranov@gmail.com) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by mx1.freebsd.org (Postfix) with ESMTP id DEA508FC13 for ; Thu, 23 Sep 2010 12:41:29 +0000 (UTC) Received: by gxk8 with SMTP id 8so650615gxk.13 for ; Thu, 23 Sep 2010 05:41:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=XIzdbBnvuHcwbKdGb5BdqFH2jtnkDlafq6zRkYg00C0=; b=x0JM5wDvp6zkl03yb1tCgNnrTMWf4KDR2sROGbW0HbluhWeDRQGatDhBMLKuMJs6+f a2OuVW0NIhz3uBMrxp6IwEl/LV0Bti4TA5Y90z1jhbFJ4XcYlo3TjN9yjV1JPW5ERSU2 Tdzgc1tGHDh7aZfBrDHzCZCplQ5/V0+8VHnqg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=jEJ6Ukt2lNxQkwWdgs3dlYh2RhlU8mJNGms4y2dMs546/Ka0kxcFTRzpM19AJAeStv gOlk7R32pblxaD8qInfbSBR/QZh+EGiShfot4c/tTPfq6W0+NnaYH4/7SQTP2wuNkJL1 +S2INOYW+mD7mzZ5ATc3/o3gJTVcABgTZlH5I= MIME-Version: 1.0 Received: by 10.150.175.4 with SMTP id x4mr2401204ybe.325.1285244366983; Thu, 23 Sep 2010 05:19:26 -0700 (PDT) Received: by 10.220.81.3 with HTTP; Thu, 23 Sep 2010 05:19:26 -0700 (PDT) Date: Thu, 23 Sep 2010 16:19:26 +0400 Message-ID: From: Alexander Churanov To: freebsd-threads@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: What is the status of thread process-shared synchronization? X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Sep 2010 12:41:30 -0000 Hi folks! The FreeBSD 8.1 manual pages state that pthread process-shared synchronization option is not supported, at least for some primitives. 1) Are there any plans to implement this option? 2) Is anybody working on that? 3) What are the main obstacles which prevent us from having the option implemented? I am teaching students UNIX-like systems in general and FreeBSD in particular. I've set them a task on synchronizing processes reading and writing from a shared-memory cache. But then found that in spite of PTHREAD_PROCESS_SHARED being available, it is not supported. I've endeavored to fix POSIX rwlocks by making pthread_rwlock_t a structure, but then found that POSIX semaphores do not support process-shared attribute either. 4) Do we have any synchronization primitive capable of synchronizing threads in different processes in FreeBSD? I've found a related discussion, named "A mutex for inter-process", but there is no conclusion or action items in it. Alexander Churanov