Exactly.
>I'm wondering how such a function would be implemented. If you use some sort of
>agent to manage remote requests, it seems pretty straightforward. But if you
>have a shared memory machine, things might get a bit messy.
I admit I haven't given enough thought about shared memory machines. I
appreciate some help on this front since I have little experience with
those machines.
>I also wonder if this provides enough functionality to be generally useful. As
>you point out, it cannot be used to implement general RMW operations.
'get'), we found that this kind of operation was bug-prone and
sometimes programmer hostile. I think it is better, at least for
debugging and tuning purposes, for a window to be equipped with a
memory protection feature. There may be some point we can make
compromise between generality, usefulness and ease of implementation.
My own assessment is that the local lock/unlock functions are "not too
general, useful for some, and cheap to implement (except for shared
memory machines)".
>Maybe we should just bite the bullet and try to come up with some sort of
>general semaphore interface instead? (Ouch.)
If it can be done, it's most welcome.
-N.Sagawa