Ok, I may have misread your 1st mail.
When I was reading controlled by user-variables, I thought the thread
would be paused, when the thread does access the variable (that would be
equal to user-locks).
On a 2nd read, may above interpretation may be wrong. The
syncronisation-point is a fixed point (like a hook) in the code, the
user variable is only used to toggle it.
In this case you are right user-locks will not do this.
Martin
Ingo Strüwing wrote:
> Hi Martin,
>
> Martin Friebe, 10.12.2007 21:34:
> ...
>
>> Just a thought, something very similar can be archived using named-locks
>> "get_lock('name', timeout)".
>>
> ...
>
>> The advantage is that no changes to the server are needed. So it culd be
>> used with current GA servers immediately.
>>
>
> Yes, I agree. However there is a remarkable difference between
> get_lock() and my test synchronization facility.
>
> If I do not miss something important, then I can use get_lock() and
> friends to force statements of multiple threads to execute in a
> pre-determined order. This can be used for a wide class of
> synchronization problems.
>
> What my facility aims for is to force execution of a statement while
> another thread is at a certain point of execution _within_ another
> statement. Say thread1 shall FLUSH t1 while thread2 started an INSERT
> INTO t1, opened t1, but did not yet lock t1. Can this be achieved with
> get_lock() and friends?
>
> However, I have been informed that my facility or similar does already
> exist. For the new online backup (6.0) it has been implemented already.
> However, I guess, it is not publicly available yet.
>
> Regards
> Ingo
>