Frankly, I don’t remember how it works ;) But, it sounds like it should work as 
you describe. Please write a test case and open an issue in Jira. A patch 
fixing the problem would be appreciated.

-JZ

From: Krishmin Rai Krishmin Rai
Reply: [email protected] [email protected]
Date: February 3, 2014 at 3:23:13 PM
To: [email protected] [email protected]
Subject:  InterProcessSemaphoreV2 and updated SharedCount  
Hi All,
  This is my first experiment with Curator, and I have some questions about the 
SharedSemaphore recipe. In my code, I'm creating an InterProcessSemaphoreV2 
object using SharedCount. Things seem to work as expected, except in the 
following case: all leases are currently in use, an existing process is waiting 
for the next available lease, and then I increase the value in the shared 
counter. Instead of (relatively) immediately getting the newly-available lease, 
the waiting process continues to block until it reaches the end of the timeout 
period (or presumably until other processes finish or some other notification 
occurs).

  After a quick peek in the source code, it seems like updates to SharedCount 
set the volatile local variable but do not trigger any notification. Is this 
correct?

  Let me know if I'm expecting the wrong behavior or perhaps have some error on 
my side (I can provide some sample code or more details on how I've been 
testing if that seems likely).

Thanks!
Krishmin

p.s. This is with 2.3.0/2.3.1

 

 

Reply via email to