From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12220 invoked from network); 28 Feb 2022 14:48:16 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 28 Feb 2022 14:48:16 -0000 Received: (qmail 13401 invoked by uid 550); 28 Feb 2022 14:48:11 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 13363 invoked from network); 28 Feb 2022 14:48:10 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to; bh=9AWSLlzaz44n0uKbLNp5xlhxHHg4RisZGQv2EpC1oDw=; b=Jp0Iv8FeGNcUn9AKH02z8y9oxaj15/rurnhSW9odd2FZ21vahybhnOA3xiOf8xroPi yzYZcjxOuBXPokQWE9WicWmQLUG5W1Ziv0f+tt0ovOXM5ZErCDJZnO71Un2FiPE0NP57 sa0NTsBgknTWqAdd9P4cKXygWi1b5ggtyEvdyQutx5h0SXVKszKqXSh1qp3F5hUvweTC QvohP2zLyVOzRavoNeJ8RKs+DswY2+J9X8OKYAXqBVQBfsugb4EREepqq+hN3DOLNFEn ynuMqdIxTWKVfizV8ecaYoywLkOC9KBmLzymsEw/g38OAmSi++IE4/Ax1wHzwj+0ulrS 7hsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to; bh=9AWSLlzaz44n0uKbLNp5xlhxHHg4RisZGQv2EpC1oDw=; b=LCPd3yh2+nktaWBe+vAhZrBLEZDAJu5WvW8YVHaR6Ez3RRUMjQgrvx1nmirSbSh0kf SK6SU0eQZCV8GU4m6t3Dec16Jl4OqaQ/Reu1vcimeDQ8JOp1uL3xfKBCpoBPaga94bm7 LdktEudKpaVkXpnt19QfpVilE8LFJQUkrcxJglkSUNxQ0/lXvy+92BzEFu+9ocscactg imCMyX8dCEZ1/OWb0sfV3iWjWj2YGSG+xMJ/RZ/zialmPYe1T/8eYXSzTqLlvWWgxyG1 TpbtA2j9b0RXCBigHdohJPhCOUGIxkyzJn7A/Xpx7RAlsZ3EB138xskC6dhG05Jn0DTb JUyA== X-Gm-Message-State: AOAM532frcTfkcFmkfJnzZkn3gLBTEaTuts2Or++yyOa52qEwiLsnc8Z X4d5IGw62e8ieExUrFluQisHyCIHqlOZcgfIpTweq1z+ X-Google-Smtp-Source: ABdhPJyxJZD6OM2Fzx6LNyC49tY/k3hW4CGK+0WfxAjKNQRlDpkEDoe9MhWP11AF+x5L/nTIJdDG0ygGKnIK0Lv21mY= X-Received: by 2002:a1f:430d:0:b0:332:5cc4:af75 with SMTP id q13-20020a1f430d000000b003325cc4af75mr7829443vka.17.1646059678418; Mon, 28 Feb 2022 06:47:58 -0800 (PST) MIME-Version: 1.0 References: <20220221174223.GA2079@voyager> <20220223185746.GB2079@voyager> <20220226123855.392c22acb208a966210c7af2@zhasha.com> <20220228094814.be34ddcf7be25724e8f8c21b@zhasha.com> In-Reply-To: <20220228094814.be34ddcf7be25724e8f8c21b@zhasha.com> From: Lee Shallis Date: Mon, 28 Feb 2022 14:43:36 +0000 Message-ID: To: musl@lists.openwall.com Content-Type: multipart/mixed; boundary="00000000000069575005d915220e" Subject: Re: [musl] Suggestion for thread safety --00000000000069575005d915220e Content-Type: text/plain; charset="UTF-8" Seems the wait just wasn't long enough, at about 4 yields onwards the results become consistent success, I've attached the file I did the experiments in, I even tried it under -O3 and no exits were encountered, so yes my method works, just needs a bit more wait time for extreme cases On Mon, 28 Feb 2022 at 08:48, Joakim Sindholt wrote: > > On Sun, 27 Feb 2022 23:32:47 +0000, Lee Shallis wrote: > > Yes, as I mentioned before, pauseCB is supposed to have it's pointer > > be changed by the developer, in other words you forgot to plugin a > > pthreads compatible call prior to your threads starting, considering > > you made that mistake I suppose it is a good thing I since switched to > > a non-redirectable pointer: > > How many times do you want to do this? > > zhasha@wirbelwind /home/zhasha ; gcc -D_GNU_SOURCE -lpthread buglock.c > zhasha@wirbelwind /home/zhasha ; ./a.out > var = 1, expected 0 > zhasha@wirbelwind /home/zhasha ; ./a.out > var = 1, expected 0 > zhasha@wirbelwind /home/zhasha ; ./a.out > var = 1, expected 0 > zhasha@wirbelwind /home/zhasha ; ./a.out > var = 1, expected 0 > zhasha@wirbelwind /home/zhasha ; ./a.out > var = 1, expected 0 > var = 2, expected 1 > zhasha@wirbelwind /home/zhasha ; ./a.out > var = 1, expected 0 > var = 2, expected 1 --00000000000069575005d915220e Content-Type: text/x-csrc; charset="US-ASCII"; name="lock.c" Content-Disposition: attachment; filename="lock.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l06t0d5z0 I2RlZmluZSBfR05VX1NPVVJDRQojaW5jbHVkZSA8c3RkYm9vbC5oPgojaW5jbHVkZSA8dW5pc3Rk Lmg+CiNpbmNsdWRlIDxlcnJuby5oPgojaW5jbHVkZSA8dGltZS5oPgojaW5jbHVkZSA8c2NoZWQu aD4KI2luY2x1ZGUgPHB0aHJlYWQuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3Rk aW8uaD4KCnR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnQ7CnR5cGVkZWYgc3RydWN0IF9MT0NLIHsg dWludCBudW07IHBpZF90IHRpZDsgfSBMT0NLOwoKdm9pZCBMb2NrU2lEYXRhKCBMT0NLICpzaGFy ZWQgKQp7CglwaWRfdCB0aWQgPSBnZXR0aWQoKTsKCXVpbnQgY29uc3QgeWllbGQgPSA0OwoJdWlu dCBpOwoJLyoKCXN0cnVjdCB0aW1lc3BlYyB0cyA9IHswfTsKCXRzLnR2X25zZWMgPSAxOwoJKi8K Cgl3aGlsZSAoIHNoYXJlZC0+dGlkICE9IHRpZCApCgl7CgkJaWYgKCAhKHNoYXJlZC0+dGlkKSAp CgkJCXNoYXJlZC0+dGlkID0gdGlkOwoJCS8vY2xvY2tfbmFub3NsZWVwKENMT0NLX01PTk9UT05J QywgMCwgJnRzLCAwKTsKCQlmb3IgKCBpID0gMDsgaSA8IHlpZWxkOyArK2kgKQoJCQlzY2hlZF95 aWVsZCgpOwoJfQoKCXNoYXJlZC0+bnVtKys7Cn0KCnZvaWQgRnJlZVNpRGF0YSggTE9DSyAqc2hh cmVkICkKewoJcGlkX3QgdGlkID0gZ2V0dGlkKCk7CglpZiAoIHNoYXJlZC0+dGlkICE9IHRpZCAp CgkJcmV0dXJuOwoJc2hhcmVkLT5udW0tLTsKCWlmICggc2hhcmVkLT5udW0gKQoJCXJldHVybjsK CXNoYXJlZC0+dGlkID0gKHBpZF90KTA7CgkvL3NjaGVkX3lpZWxkKCk7Cn0KCnZvbGF0aWxlIHVp bnQgcXVpdCA9IDA7CnZvbGF0aWxlIHVpbnQgZGF0YSA9IDA7CkxPQ0sgbG9jayA9IHswfTsKCnZv aWQqIHRocmVhZCggdm9pZCAqdWQgKQp7Cgl1aW50IGk7CglzdHJ1Y3QgdGltZXNwZWMgdHMgPSB7 MH07Cgl0cy50dl9uc2VjID0gMTsKCSh2b2lkKXVkOwoKCXdoaWxlICggcXVpdCA8IENMT0NLU19Q RVJfU0VDICkKCXsKCQlMb2NrU2lEYXRhKCAmbG9jayApOwoKCQlpID0gZGF0YSsrOwoJCWlmIChp ICE9IDApCgkJewoJCQlmbG9ja2ZpbGUoIHN0ZG91dCApOwoJCQlwcmludGYoInZhciA9ICV1LCBl eHBlY3RlZCAwXG4iLCBpKTsKCQkJZnVubG9ja2ZpbGUoIHN0ZG91dCApOwoJCQlGcmVlU2lEYXRh KCAmbG9jayApOwoJCQlleGl0KDEpOwoJCX0KCgkJLyogV2h5IGlzIG5lZWRlZCBmb3IgdGhlIHRl c3Q/ICovCgkJY2xvY2tfbmFub3NsZWVwKENMT0NLX01PTk9UT05JQywgMCwgJnRzLCAwKTsKCgkJ aSA9IGRhdGEtLTsKCQlpZiAoaSAhPSAxKQoJCXsKCQkJZmxvY2tmaWxlKCBzdGRvdXQgKTsKCQkJ cHJpbnRmKCJ2YXIgPSAldSwgZXhwZWN0ZWQgMVxuIiwgaSk7CgkJCWZ1bmxvY2tmaWxlKCBzdGRv dXQgKTsKCQkJRnJlZVNpRGF0YSggJmxvY2sgKTsKCQkJZXhpdCgxKTsKCQl9CgoJCSsrcXVpdDsK CgkJRnJlZVNpRGF0YSggJmxvY2sgKTsKCX0KCXJldHVybiB1ZDsKfQoKaW50IG1haW4oKQp7Cglw dGhyZWFkX3QgcHQ7CglpbnQgaTsKCglmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKQoJewoJCWlmICgo ZXJybm8gPSBwdGhyZWFkX2NyZWF0ZSgmcHQsIDAsIHRocmVhZCwgMCkpICE9IDAgKQoJCXsKCQkJ ZmxvY2tmaWxlKCBzdGRvdXQgKTsKCQkJcHJpbnRmKCJwdGhyZWFkX2NyZWF0ZSBmYWlsZWQ6ICVt XG4iKTsKCQkJZnVubG9ja2ZpbGUoIHN0ZG91dCApOwoJCQlyZXR1cm4gMTsKCQl9Cgl9CglwdGhy ZWFkX2V4aXQoMCk7Cn0K --00000000000069575005d915220e--