PTHREAD_MUTEX_INIT(3POSIX)

πŸ’– PTHREAD_MUTEX_INIT πŸ’–

okay bestie, welcome to the POSIX Programmer's Manual page for pthread_mutex_init β€” it's PTHREAD_MUTEX_INIT(3POSIX) if you're being formal about it ✨


🌸 PROLOG 🌸

ngl this bit is important so read it, bestie:

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

fr fr, that's not me being dramatic, that's the actual text. check your Linux page, queen. πŸ‘‘

✨ NAME ✨

pthread_mutex_init β€” destroy and initialize a mutex

like. the name literally tells you what it does. destroy AND initialize. we contain multitudes πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <pthread.h>

int pthread_mutex_init(pthread_mutex_t *restrict mutex,
    const pthread_mutexattr_t *restrict attr);
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

so you've got the function call version, and then you've got the static initializer PTHREAD_MUTEX_INITIALIZER just vibing there as a whole variable declaration. both valid. both iconic. πŸ¦‹


🧚 DESCRIPTION 🧚

Refer to pthread_mutex_destroy().

that's it. that's the whole description. the manpage said "go read the other one" and honestly? valid. go read pthread_mutex_destroy(), bestie, the lore is over there 🫢


okay so legally I have to tell you this and I'm gonna tell you it exactly:

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

translation: if this page and the actual Standard disagree, the Standard wins. no cap. the Standard is the main character here.

Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .

so if you spot a typo, it's probably a conversion glow-down, not the actual spec being messy πŸ™ˆ go report it at that link, you'd be doing the community a service, queen πŸ’œ


and that's the whole page, bestie!! brought to you by IEEE/The Open Group, 2017 β€” the PTHREAD_MUTEX_INIT(3POSIX) of it all β€” mwah, go lock something responsibly πŸ’–βœ¨πŸŽ€