delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2023/06/08/21:45:21

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DCC3C3857014
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1686275077;
bh=QvKsP/NU64nK//INgB5vhI8NCuC8sy2S9+VzCNUkHu0=;
h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=TnpICiD75qa5jgMFYmy3MoNHFq4DNXhz9Kn2GiFmji3h0h1GbuQVHnIwGrslnKDxA
0vHkBR4zIkn9F1b3TeqAQyXJo6tA68fr5bsMXV9klDobxuERER/3/uwSA2Cq2oSbHD
Y3OabESC/ypEmMIbRgPu88ItoJUqFgt9iebIRpiQ=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E80593858C20
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20221208; t=1686275059; x=1688867059;
h=in-reply-to:content-transfer-encoding:content-disposition
:mime-version:references:mail-followup-to:reply-to:message-id
:subject:to:date:from:sender:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=Xvfd4NozHWrJousnD8p4ll/y8XgLnn0LLuRlr8tByic=;
b=V83+19ATvUwg4eXMJEm5PPg/Sz4/TsHPRrhwJKqtHpRa8G0e7frmZKnxTwOgfB5Ez6
g8flGF//8HTC5BjpIL+gj/uE/P4hDM8uJvQztbVHBVOYaETPLA2EuZiTPztjS/guxS5B
2q2EI+TmcrP3O3vGC1r7kvwF6UU38F20suOepYZBjxfHVgxDesGtSixQScjDNW1oByQL
OQ8McEH/oZTbdne8f/GSqGghzPbQ6dMVIMshXEktWQAjRcrTSTsyhY54SFUF0rPbrfLD
5px50j5I/FdJYIIqAQhN71elpxKGsdwhaJXd9qr+I3v4eimNXchqwSHpVOpJKn3iHDtf
5N3g==
X-Gm-Message-State: AC+VfDwI6bFXxCYovmvNz3AHzapcJktaJ7x/K8zqCg8n3viowsl3jxzZ
vRCyAKprmPxjlIgPGArrT/M6gNRg5/s=
X-Google-Smtp-Source: ACHHUZ5WiKJFBDlymLG+1FaPwddgVZL7GFjTPmiOOb1BRxYbmdGr/ofgQ23qjj2pYD/MDKKKb3SHCw==
X-Received: by 2002:a17:902:d4c7:b0:1ab:29bc:bd87 with SMTP id
o7-20020a170902d4c700b001ab29bcbd87mr32124plg.35.1686275059516;
Thu, 08 Jun 2023 18:44:19 -0700 (PDT)
X-Google-Original-From: Duncan Roe <dunc AT slk15 DOT local DOT net>
Date: Fri, 9 Jun 2023 11:44:15 +1000
To: cygwin AT cygwin DOT com
Subject: Re: Memory Barriers at pthread using CYGWIN
Message-ID: <ZIKD70cnYSPK3kfC@slk15.local.net>
Mail-Followup-To: cygwin AT cygwin DOT com
References: <CAPxKPA79MOTXkUEKUPFGSWdHr_O93Q44kXs_CbN=YoxfpqJhcw AT mail DOT gmail DOT com>
MIME-Version: 1.0
In-Reply-To: <CAPxKPA79MOTXkUEKUPFGSWdHr_O93Q44kXs_CbN=YoxfpqJhcw@mail.gmail.com>
X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT,
FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,
RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP,
T_SCC_BODY_TEXT_LINE 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-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
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: Duncan Roe via Cygwin <cygwin AT cygwin DOT com>
Reply-To: duncan_roe AT optusnet DOT com DOT au
Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id 3591j3bs003423

On Thu, Jun 08, 2023 at 05:29:59PM +0300, cygwin wrote:
> Hi,
>
> I wrote a simple test for pthread_barrier_wait. it won't work as expected.
>
> result should be
>
> r1 = 1, r2 = 1
>
> Thanks,
> Mümin

> cmake_minimum_required(VERSION 3.26)
>
> project(test)
>
> set(CMAKE_CXX_STANDARD 14)
> set(CMAKE_CXX_STANDARD_REQUIRED ON)
> set(CMAKE_CXX_EXTENSIONS OFF)
>
>
> add_definitions(-D__POSIX_VISIBLE=200112 -D_POSIX_C_SOURCE=200112)
>
> add_executable(test main.cpp)
>
> target_link_libraries(test pthread)

> #include <stdio.h>
> #include <pthread.h>
>
> int x = 0;
> int y = 0;
> int r1 = 0;
> int r2 = 0;
>
> pthread_barrier_t barrier;
>
> void* thread1(void* arg) {
>     y = 1;
>     pthread_barrier_wait(&barrier);  // Memory barrier
>     r1 = x;
>     return NULL;
> }
>
> void* thread2(void* arg) {
>     x = 1;
>     pthread_barrier_wait(&barrier);  // Memory barrier
>     r2 = y;
>     return NULL;
> }
>
> int main() {
>     pthread_t t1, t2;
>
>     pthread_barrier_init(&barrier, NULL, 2);
>
>     pthread_create(&t1, NULL, thread1, NULL);
>     pthread_create(&t2, NULL, thread2, NULL);
>
>     pthread_join(t1, NULL);
>     pthread_join(t2, NULL);
>
>     printf("r1 = %d, r2 = %d\n", r1, r2);
>
>     pthread_barrier_destroy(&barrier);
>
>     return 0;
> }

WFFM (compiled as a C program)

Cheers ... Duncan.

-- 
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