boostorg / boostorg/interprocess
file_lock can't be used with scoped_lock because file_lock::internal_mutex_type is not defined
- Lingua principale
- C++
- Stelle
- 185
- Fork
- 131
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
For Boost version: 1.86.0
The documentation [here](https://live.boost.org/doc/libs/1_85_0/doc/html/boost/interprocess/file_lock.html) states:
"A file lock, is a mutual exclusion utility similar to a mutex using a file. A file lock has sharable and exclusive locking capabilities and can be used with [scoped_lock](https://live.boost.org/doc/libs/1_85_0/doc/html/boost/interprocess/scoped_lock.html) and [sharable_lock](https://live.boost.org/doc/libs/1_85_0/doc/html/boost/interprocess/sharable_lock.html) classes."
When I try to use a `scoped_lock` with a `file_lock` like so:
```
boost::interprocess::file_lock* flk = nullptr; // Just for compilation testing purposes
boost::interprocess::scoped_lock lock(*flk);
```
I run into the following compile error:
```
include/boost/interprocess/sync/detail/locks.hpp:35:60: error: no type named ‘internal_mutex_type’ in ‘boost::interprocess::scoped_lock::mutex_type’ {aka ‘class boost::interprocess::file_lock’}
35 | typedef typename Lock::mutex_type::internal_mutex_type mutex_type;
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia da include/boost/interprocess/sync/detail/locks.hpp e dalla documentazione di file_lock e scoped_lock collegata nell’issue. Riproduci l’errore di compilazione mostrato di scoped_lock, quindi verifica che l’uso documentato venga compilato correttamente senza l’errore relativo alla mancanza di internal_mutex_type.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- operating-systems
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 48/100