I wonder if the TryLock() call in the TryOptimisticRead() (used here as an
acquire barrier/half fence) is making the race detector happy enough.

-Bruno


On Fri, Jan 31, 2025 at 11:51 AM Bruno Albuquerque <b...@gmail.com> wrote:

> Ops. There was a bug due to left over of me testing. Here is a fixed
> version:
>
> https://go.dev/play/p/UuIWVlV0UTN
>
> Also, don't try to run in the playground as this runs forever (it could be
> changed but I am lazy).
>
> -Bruno
>
>
> On Fri, Jan 31, 2025 at 11:31 AM Bruno Albuquerque <b...@gmail.com> wrote:
>
>> This seemed expected to me but I went ahead and created a Go
>> implementation (which might not be 100% correct so take it for what it
>> will) and I was surprised that the race detector did not really complain
>> about anything.
>>
>> https://go.dev/play/p/R1alMCc-xN9
>>
>> -Bruno
>>
>>
>> On Fri, Jan 31, 2025, 6:13 AM Robert Engels <reng...@ix.netcom.com>
>> wrote:
>>
>>> Hi,
>>>
>>> Do you think it is possible to implement a stamped lock in Go
>>> https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/StampedLock.html
>>>  ?
>>>
>>> It would seem that the Go race detector would always report the
>>> “optimistic read” mode as a data race?
>>>
>>> (The docs state for Java that the values can be wildly inconsistent when
>>> the optimistic read fails).
>>>
>>> Ideas on how to implement in Go?
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to golang-nuts+unsubscr...@googlegroups.com.
>>> To view this discussion visit
>>> https://groups.google.com/d/msgid/golang-nuts/FBEB055A-2B84-4738-AE22-C22ABAC8C4A9%40ix.netcom.com
>>> <https://groups.google.com/d/msgid/golang-nuts/FBEB055A-2B84-4738-AE22-C22ABAC8C4A9%40ix.netcom.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/golang-nuts/CAEd86TzOW8%3D2_FPFTEfrnpEigcfT2XtYX2A4F7Eu28ZENRMmPw%40mail.gmail.com.

Reply via email to