Eu queria dar uma olhada na página de manual do pthread_mutex_trylock
.
Digitando man pthread_mutex_trylock
, eu tenho No manual entry for pthread_mutex_trylock
.
Então eu vi um post sugerindo fazer sudo apt-get install manpages-posix manpages-posix-dev
.
Depois disso, vejo uma descrição como:
PTHREAD_MUTEX_LOCK(3POSIX) POSIX Programmer's Manual PTHREAD_MUTEX_LOCK(3POSIX)
PROLOG
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the cor‐
responding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.
Qual é a diferença entre este Manual do Programador POSIX e o Manual do Programador Linux que eu costumo ver?
O que significa dizer:
A implementação Linux desta interface pode ser diferente (consulte a página de manual do Linux correspondente para obter detalhes sobre o comportamento do Linux), ou a interface pode não ser implementada no Linux.
Então, onde posso encontrar a página de manual para a implementação do Linux pthread_mutex_trylock
? Posso usar pthread_mutex_trylock
no meu sistema? Estou usando o Ubuntu.
Ele diz isso porque não há garantia de que os manuais POSIX (para qualquer coisa ) correspondam à implementação real da coisa correspondente em seu sistema específico.
Para obter o manual do
pthread_mutex_trylock()
, instale o manual da biblioteca que implementa a interface.Nos sistemas Ubuntu, o manual necessário parece fazer parte do
glibc-doc
pacote (encontrado pesquisando o nome da função nas páginas de pesquisa de pacotes do Ubuntu ).O manual POSIX definitivamente não é inútil. A interface local do Linux deve ser compatível com a interface descrita no manual do POSIX, mas o manual específico da implementação também pode mencionar advertências e detalhes e extensões de implementação específicos do Linux e funções semelhantes não POSIX.
Os manuais do POSIX se tornam extremamente importantes se você estiver preocupado com a portabilidade do seu código para outros sistemas Unix, nesse caso você deve evitar depender de extensões específicas do Linux para a especificação POSIX.
A partir do Arch Linux, o pacote é
man-pages
docore
. Tomemosfcntl
por exemplo, depois de instalarman-pages
,man 2 fcntl
dá a página do Manual do Programador Linux enquantoman 3 fcntl
eman fcntl
dá o Manual do Programador POSIX.