Scalable Distributed Reader-Writer Mutex

Scalable Distributed Reader-Writer Mutex version 2.53

Author: Amine Moulay Ramdane, based on Dmitry Vyukov C++ Reader-Writer Mutex

Email: aminer@videotron.ca

Description:

A scalable Distributed Reader-Writer Mutex based on the Dmitry Vyukov C++ Reader-Writer Mutex. This scalable Distributed Reader-Writer Mutex works accross processes and threads.

There is two options to choose from, you can choose to use RWLock by uncommenting the define`s option called "TRWLock" inside the file called defines1.inc , or you can choose to use RWLockX by uncommenting the define`s option called "TRWLockX" inside the file called defines1.inc , if you set it to RWLock , it will spin-wait, but if you set it to RWLockX it will not spin-wait , but it will wait on the Event objects and my SemaMonitor.

To compile it for MacOSX or Linux, please uncomment the define's option called "threads" inside the file called defines1.inc, but to use it accross processes and threads under windows , please comment the define's option called "threads"...

You can go to download the zip files by clicking on the following web link:

https://drive.google.com/drive/folders/1xJoB_kDI-a20u5U5ehEQ-8qlmfK41KbG?usp=sharing

Language: FPC Pascal v2.2.0+ / Delphi 7+: http://www.freepascal.org/

Operating Systems: Windows, Mac OSX , Linux...

Required FPC switches: -O3 -Sd

-Sd for delphi mode....

Required Delphi switches: -$H+ -DDelphi

For Delphi XE-XE7 use the -DXE switch

{$DEFINE CPU32} and {$DEFINE Windows32} for 32 bit systems

{$DEFINE CPU64} and {$DEFINE Windows64} for 64 bit systems