From owner-freebsd-stable@FreeBSD.ORG Mon Jun 1 15:34:04 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 453DC1065676 for ; Mon, 1 Jun 2009 15:34:04 +0000 (UTC) (envelope-from dudu@dudu.ro) Received: from mail-bw0-f213.google.com (mail-bw0-f213.google.com [209.85.218.213]) by mx1.freebsd.org (Postfix) with ESMTP id CF2808FC16 for ; Mon, 1 Jun 2009 15:34:03 +0000 (UTC) (envelope-from dudu@dudu.ro) Received: by bwz9 with SMTP id 9so7724710bwz.43 for ; Mon, 01 Jun 2009 08:34:02 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.112.204 with SMTP id x12mr3263188fap.70.1243870442714; Mon, 01 Jun 2009 08:34:02 -0700 (PDT) From: Vlad Galu Date: Mon, 1 Jun 2009 18:33:42 +0300 Message-ID: To: freebsd-stable@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Unnamed POSIX shared semaphores X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jun 2009 15:34:04 -0000 Hello, According to sem_init(3), we can't have shared unnamed semaphores. However, the following code snippet seems to work just fine: -- cut here -- sem_t semaphore; if (sem_init(&semaphore, 1, 10) < 0) std::cout << "Couldn't init semaphore: " << strerror(errno) << std::endl; if (sem_wait(&semaphore) < 0) std::cout << "Couldn't decrement semaphore: " << strerror(errno) << std::endl; int val; sem_getvalue(&semaphore, &val); std::cout << "Value is " << val << std::endl; -- and here -- Is this a case where sem_init() silently reports success, or should be the man page get an update? Thanks, Vlad