delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2023/02/16/23:57:36

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0FD8238555A0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1676609812;
bh=Ea5aWxWHJgNAebA1umBPc5lWTimvpg6Ux38F5GeclcI=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=GOfdjb419AKxjCvWyDn2oxsQ0gFkuR80uXW3WdUoDIckeH92I0ftUeYeksqijnVKs
0/nfGx8tMytSsRPGpq3f7eFg3PnlvPxjQUsK2PQsyYwvpB44xHMFiqjxFY1aDxwkyL
qA1ZwPz/tawmszU9DvNzNd60Moq26kf60YcBqHZc=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 061573858D33
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=FO5QdmK87WChlqioQTENHwoVp1w27lRw89bUAwh/yA098S+Spu0MZFsILomqIe3OsotMXqipHlGsgcewh6Et5qnH+HDuxF1sW9+Dcx2+10eA2tulRfrsrNMC/jiMKKJJUoHF9+7Lx35bazlch6qZviIIgXlZOBNHT7F2tG8uWQT4CRyD0dvO/pmfa2FSHV/IReEKqvml/fnXsUHMlWZ5EzDM7YpenQ31oePIqmhuy9QJytRvjco1RrzV+jrHzCvsOvXuXHwhAr48dTwrYwtGqH8LsXoEjv5w3oIHornTVFUJUKTkxe4HBi8/LCWTH+BrHtJ1nZmV/6/ooJT6bDyqbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector9901;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=G8k8jLGXM01FMfWW+I5o8cjP70WOtWiifGa7JXxeHLs=;
b=AsJBY1qRwCKgCKtuGaEa38HyVjQ4V3AMXlU89K6PYMk43Y3cRBJMIah6S8vaSqYncGgbRXoY9iImdy8FOlYHkQliD2sXGWQxLKJOyp0xW3ZTvmiIwS1hK/itlOu6g7/+FNiklQMXjigKKbJnuwociXo3I5dw+POhIPRg7knpy7VGoF8uMbHgJSsebKyLeoYL4jGW1jK6hM7Ls7nLNkgmOE7p7KrW0LNdJeyoau7bg1ry+VzMYh0ja+e4FIuvrMjTC2y4HTP4sGS3TfdGAWot3q07JzTdpRG1vUUmKCNjcKD28edqL6cIGUZoqIQDpk9ZgoeKYB/2IPjXKZPxUi+RHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
dkim=none; arc=none
Message-ID: <PH0PR05MB9918CF909700C957414348F7A4A19@PH0PR05MB9918.namprd05.prod.outlook.com>
Date: Fri, 17 Feb 2023 12:56:06 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.8.0
Subject: Re: [QUERY] Help With Semaphore Error on Windows : Cygwin
To: cygwin AT cygwin DOT com
References: <PH0PR05MB9918C60D1BF4A9A8D25DEADEA4A09 AT PH0PR05MB9918 DOT namprd05 DOT prod DOT outlook DOT com>
<Y+5E2Hftco5JMrpl AT calimero DOT vinschen DOT de>
In-Reply-To: <Y+5E2Hftco5JMrpl@calimero.vinschen.de>
X-TMN: [imtegnPVd/6AhVZNo2HbxpTdI0FUoOhex3xDI564sLU=]
X-ClientProxiedBy: SI2PR04CA0010.apcprd04.prod.outlook.com
(2603:1096:4:197::11) To PH0PR05MB9918.namprd05.prod.outlook.com
(2603:10b6:510:299::5)
X-Microsoft-Original-Message-ID: <3c487705-e17e-9069-d8d4-b083f9b84489 AT hotmail DOT com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR05MB9918:EE_|SJ0PR05MB7609:EE_
X-MS-Office365-Filtering-Correlation-Id: 159f5cf7-9b25-4d2d-900b-08db10a34a6e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: niJeIoQpK9KYKjT8LI5ESMIwqRCa6uZwqcFYOWxd4oaZZg6pIV9VtDecM7P1YMR8hVKfz91y4PSwhacV9LcxcpLJqUuTrJp1yZSzqC/5yLNbgcMdEvxX/61WT5OuG2jO6gW5LWyJGQzmnYqkJ8q9nMLnHShSeC7PrETlui9nQHHTuJmp+naOzmdT1gCcw5Dfuz1oQLrQhqmuuVRCOjz0WtrzjNtXP9uF02ENZHz7bx0JTkt1V06x5XzsNBn+IAEM+EMzfAplZ/8pSAC31Z1cqUCRc/I0aO82rTpjVBsipYDP5Z3kITC23Gw8I9u520Awg70CIA5RTIXBIRr5HQe2B23Cl6W7mQMhaLzkVWNsx4tPtzeBesyhmdOlk/SDQvxeh9J8IRJw7HBrOH3Mzo543ZC+GJxVzZbtvjgWhgv6dlgulWqs6lsBdRQObu7amsCI7holNdh+cTZ50wseG62I6oPa2APrIrXF0nz6TapjWfv4E3+C/s8TdjY5Yn/MH4jgoS8E2JNCv0jwhaW8t7J1y6P6N1tZrNIuvrdvb0L4YtO8SsctKxqUTJzTKXQMveyfRFG1cmYXfnixZZ5Oas03kGRa1lDm1ugYOJpR2oQhgZ79vT2HKlkQreuPi3+VEtViYOqmxDGDvz3icZSHoOY/GQ==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VXB0MWlvVFl1b0tQcGp4L2dLbG5EL1dHRlhkY205aWMxdDE4dHErZDZyMGxv?=
=?utf-8?B?Qko0K1JwMEZFU3NLKzRoYnd6UUU3R25XUTJJbGc0OWRjYUpqQTFuN0VzQk9r?=
=?utf-8?B?aWxYQVh4N2pjWWFRZXdpbmRBemloOW5vTXRqWkpsNm96eE1ISzU0N3pjYXc4?=
=?utf-8?B?a1BhcklGeHVqdWY4THVkck1aU25VYml2NER0ZjFza3p4TTRrbGZUWlJodWFI?=
=?utf-8?B?cklRemd2cmY4SWFaZVZHRTB3eEZ5WkUvUXZKaU1abE9RTWlCNDVVeEM1STBy?=
=?utf-8?B?NTBMVUM3WDNjYzhobWRkdlB1MTR4S1o0NXNaZ3puV2JIeDJIMnlCMlM2UkNM?=
=?utf-8?B?TGFNMDZ2UjVqQlFKVkk3NFNRYng4WlpzNEJ3RmovTEN6bkdiRmdQb0U2RnFM?=
=?utf-8?B?VHQvczZtN28zbUFoajVURG5GUE1nZ3REY2RmVXpIeXBIZXBMbDcvT2J2Q2FK?=
=?utf-8?B?MlZBNU9DbEU5MzUxZVdFZ0RxbllhenNqU0ZYcWxHLzQ2RVBvOXBOVUFMWWpU?=
=?utf-8?B?Zm9iQmxlQVNCS2dILzB4VVRhTVRIUDU4U2g3V3NkMVdkd3pURFh1cU5UdkM0?=
=?utf-8?B?SXJ2VFlKWjdaRTlndHk0dU5SZi9ZcTIxWmZiNjgxZUREVnRkVDRhYU40U2E2?=
=?utf-8?B?cnI5MHF1bXRzNXp4OWREMEpUOXN0Tmc5T2RPdUovSCtjT0xVekhzekhKNVJm?=
=?utf-8?B?UkFpSXBta3FycFpRaVFxWW90d1RpS1Y5K0VGNDJFVFFzQW8vWVRic0NMWG5K?=
=?utf-8?B?NGFFYjRTdXhvNG14OGN3TnVpMmlMWW93UHJidFVLbEdJdzlISnlpZVFTbERV?=
=?utf-8?B?V1RYMThlNEl2SjFKa1h0VWFkd0xHb2RjMEdxY3lnNEpiOXFPR3FSQUcvV1VD?=
=?utf-8?B?TVdTWEk2T3ZEN3BkQ2hMQ3c1SXlrNzdCZUJpanVJUFR4M0s2TjB0cnFZOVB3?=
=?utf-8?B?aUxMaXhMZ2o2eHNJY0hlMk8vMmEzTDUwYW5iSlIzNTBJTDdPZmJmcE5OV01T?=
=?utf-8?B?dUFoR3E3NWo1ZVVsaWMxNW4wMXJLdzh3K0U5VXB6Z1Vicnh3TGIzMEpmdXVO?=
=?utf-8?B?b3h2Ni92ZGk0ejFXMExucE5nMmJuWHZSTjgyYVdGaUhySjBydHlZSDdhMzhy?=
=?utf-8?B?MktBTjVlNE03VVo2SWUyRDhabDVzUjBXMEVzcERVWkNyZmtyMXp4dnV4elNB?=
=?utf-8?B?TGlEVHlPVXBVcFI3UDhLeEVvWnIxTDE1L2tZVTFucFNra2tjcFVHb3o5dWFF?=
=?utf-8?B?Y213NXh3Wk82cUtYUEh2ajlma3gxaEFSK0JtNWJYYlhseWxFZGg0MTR4QjFs?=
=?utf-8?B?M0poZU9nLzl6Qmd2b0MrQ1JsUWd5U1hRYTVTUjNBZ09tblVLZCtjaTUvR0JU?=
=?utf-8?B?ejlKMWJFYWh1WlFuL041RTNjTW1xaElqRktZekdpUDcvZlhDNlh0dWQ2bHFa?=
=?utf-8?B?dnU1Tys5VlVaUEdERU5iZnVMNTdzZXNUSVpCZDlCSTBlVTJ2OWIyUlFFVFBQ?=
=?utf-8?B?alFPL3ZSblI5ZE9JbCtMeTNYSzl3ZHozejlyZGt1cDEza0JFSXVrVmN0NlVI?=
=?utf-8?B?VHNuZkhwNjZmeE50SE15bVdXSzdwNlk0TUQxUnpicGh4cklaS2VJbElnNjF6?=
=?utf-8?B?VXlZRkZyWXNRMVZpK00wTUZlcUNhRllmZXY3d2NJRHZFNFJWbFlrZGI0Y0h3?=
=?utf-8?B?NG5adk11aldiaXZTRmFDVXhrSkNiQmxkVVJMemVXWUozeHg0elFuTTFnPT0=?=
X-OriginatorOrg: sct-15-20-4823-7-msonline-outlook-84f76.templateTenant
X-MS-Exchange-CrossTenant-Network-Message-Id: 159f5cf7-9b25-4d2d-900b-08db10a34a6e
X-MS-Exchange-CrossTenant-AuthSource: PH0PR05MB9918.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2023 04:56:12.3600 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR05MB7609
X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_MUA_MOZILLA, FREEMAIL_FROM,
NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS,
TXREP autolearn=no autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Yeo Kai Wei via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Yeo Kai Wei <yeokaiwei AT hotmail DOT com>
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

Hi All,

Thanks for the help.

It works now.

So, the 2 things that were required

1. Adding the '/' in front of the semaphore name so that Cygwin can 
recognise it

#define SemaphoreName "/mysemaphore"

2. Changing the if check from if(semptr == (void*) -1) to if(semptr == 
(sem_t*) 0)


Thank you very much, Takashi and Corinna.

Kind Regards,
YEO Kai Wei

On 16/2/2023 10:59 pm, Corinna Vinschen wrote:
> Hi Kai,
>
> Apart from what Takashi already wrote, there's another bug in this code:
>
> On Feb 16 12:04, Yeo Kai Wei via Cygwin wrote:
>> #define ByteSize 512
>> #define BackingFile "/shMemEx"
>> #define AccessPerms 0644
>> #define SemaphoreName "mysemaphore"
>                          ^^^^^^^^^^^^
>
> What Takashi wrote.  The reason that you don't notice that sem_open
> actuially failed is...
>
>> 	//Create the semaphore
>> 	sem_t* semptr = sem_open(	SemaphoreName,//name
>> 					O_CREAT, //create semaphore
>> 					AccessPerms, //protection permissions
>> 					0);	//Initial value
>>
>> 	//ERROR
>> 	if(semptr == (void*) -1)
>                       ^^^^^^^^^^
>                       This.
>
> Why do you test for -1?  If you read the POSIX man page for sem_open,
> you'll see this:
>
>    Upon successful completion, the sem_open() function shall return the
>    address of the semaphore. Otherwise, it shall return a value of
>    SEM_FAILED [...]
>    ^^^^^^^^^^
>
> SEM_FAILED is not necessarily -1.  On Cygwin it's defined as
>
>    #define SEM_FAILED ((sem_t *) 0)
>
> in /usr/include/semaphore.h.
>
> So your code just seems to fail in sem_post, but actually that's
> because sem_open failed and your code checks for the wrong return
> value.
>
>
> HTH,
> Corinna

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019