Overview TOP Usage

Feature

Flexible installation

We provide suitable FULLOCK installation for your OS. If you use Ubuntu, Fedora, Debian or Alpine you can easily install it from packagecloud.io. Even if you use none of them, you can use it by Build by yourself.

Provided functions

FULLOCK provides the following locking mechanism.

FULLOCK mutex

Like posix’s mutex, this functions as an interprocess shared mutex.
It has especially powerful ROBUST mode.
This will automatically release the lock even if the process (thread) holding the lock terminates normally.
In addition, this will automatically manage shared memory etc. to build shared mutex between processes.
It is easy to understand if you call it a named mutex.

FULLOCK reader-writer lock(rwlock)

This is a faster locking system than fcntl and provides a process sharing reader writer lock similar to posix ‘s rwlock.
There is no ROBUST mode for rwlock shared between processes of posix.
FULLOCK’s rwlock provides the ROBUST mode like a mutex and does not cause a deadlock.
It provides the same function as F_SETLK of fcntl and it can be used with I / F equivalent to POSIX reader writer lock.
And we provide a class wrapping the reader writer lock provided by FULLOCK and it can recursively lock.
This class can recursively lock without doing a deadlock if the thread holding the lock reacquires the same lock.

FULLOCK condition

Like the mutex, it provides process variable sharing condition variables and operates in ROBUST mode.
The FULLOCK condition variable is used together with the FULLOCK mutex.
It is easy to understand if you call it a named condition.

Others

It provides a simple C ++ template relating to lock as a utility.

About costs

Linking the FULLOCK library to the program costs a little bit.

Overview TOP Usage