You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think the type 1 lock is only task fair, not phase fair. You see this in the ReadLock1() function where a reader thread waits for all previous (to itself) writers to complete. I.e. a reader thread cannot join an intermediate read phase.
What you are describing is phase fair. An incoming reader cannot move ahead of a waiting writer, and vice-versa. Otherwise a stream of incoming readers could freeze out a waiting writer indefinitely. I think you are arguing for a more descriptive name for the current behaviour?
On Friday, April 12, 2019, 5:25:10 AM PDT, WonderfulVoid <notifications@github.com> wrote:
I think the type 1 lock is only task fair, not phase fair. You see this in the ReadLock1() function where a reader thread waits for all previous (to itself) writers to complete. I.e. a reader thread cannot join an intermediate read phase.
https://github.com/malbrain/rwlock/blob/588b6278e5ca7269e76a348ef8555b7b87fbbe4c/readerwriter.c#L167
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
I think the type 1 lock is only task fair, not phase fair. You see this in the ReadLock1() function where a reader thread waits for all previous (to itself) writers to complete. I.e. a reader thread cannot join an intermediate read phase.
rwlock/readerwriter.c
Line 167 in 588b627
The text was updated successfully, but these errors were encountered: