log4tango::thr...RecursiveMutex(3)

πŸ“¦
version 9.3.4 Β· 2 versions
, in debian bookworm

πŸ’– NAME πŸ’–

okay so bestie, welcome to the log4tango manual, section 3 β€” and today's main character is:

log4tango::threading::RecursiveMutex

that's it. that's the whole name section. the docs are giving minimalist 🫢


✨ SYNOPSIS ✨

first things first, you gotta pull it in:

#include <MSThreads.hh>

🌸 Public Member Functions 🌸

here's the whole roster, exactly as it's printed β€” and yes, everything shows up twice (once with an [inline] tag, once without, and the two flavors are listed back to back like twins in matching fits):

RecursiveMutex (void)
~RecursiveMutex (void)
int lock (long timeout_=0)
void unlock (void)
void unlockn (void)
RecursiveMutex (void)
~RecursiveMutex (void)
int lock (long timeout_=0)
void unlock (void)
void unlockn (void)

πŸŽ€ Protected Attributes πŸŽ€

the protected lil' internals, no touchy unless you're family:

CRITICAL_SECTION guard_
pthread_mutex_t guard_
pthread_cond_t mutex_available_

πŸ’… Constructor & Destructor Documentation πŸ’…

so here's the constructor-and-destructor section, and it's lowkey just the same two signatures listed in both their forms. iconic. we stan a consistent queen πŸ‘‘

  • log4tango::threading::RecursiveMutex::RecursiveMutex (void) [inline] β€” the inline version, stepping on stage first πŸ’–
  • log4tango::threading::RecursiveMutex::~RecursiveMutex (void) [inline] β€” and its inline goodbye kiss πŸ¦‹
  • log4tango::threading::RecursiveMutex::RecursiveMutex (void) β€” the not-inline version, same signature, different outfit ✨
  • log4tango::threading::RecursiveMutex::~RecursiveMutex (void) β€” the not-inline teardown, matching set πŸŽ€
fr fr, that's all the docs say about them. no parameter notes, no return values, no lore. just vibes and a void. πŸ’€

πŸ”₯ Member Function Documentation πŸ”₯

now the functions!! six whole lines, because each one gets an [inline] twin. no cap:

  • int log4tango::threading::RecursiveMutex::lock (long timeout_ = 0) [inline] β€” takes a long timeout_ and it defaults to 0, returns an int, and it's the inline one πŸ’…
  • int log4tango::threading::RecursiveMutex::lock (long timeout_ = 0) β€” same signature, same timeout_ = 0 default, same int, just the non-inline listing 🌈
  • void log4tango::threading::RecursiveMutex::unlock (void) [inline] β€” no args, returns nothing, inline energy ⭐
  • void log4tango::threading::RecursiveMutex::unlock (void) β€” the non-inline twin, still void in, void out πŸ“
  • void log4tango::threading::RecursiveMutex::unlockn (void) [inline] β€” yes it's spelled unlockn with an n on the end, that is not a typo, that is literally the name, i love her πŸ™ˆ
  • void log4tango::threading::RecursiveMutex::unlockn (void) β€” and its non-inline counterpart, also unlockn, also void 🧚
not me noticing there are exactly zero description paragraphs under any of these 😭 the source docs said "signature only, bestie" and meant it.

πŸ‘‘ Member Data Documentation πŸ‘‘

the protected data members, each one marked [protected], presented exactly as written:

  • CRITICAL_SECTION log4tango::threading::RecursiveMutex::guard_ [protected] β€” a guard_, typed CRITICAL_SECTION πŸ’œ
  • pthread_mutex_t log4tango::threading::RecursiveMutex::guard_ [protected] β€” another guard_, this time typed pthread_mutex_t. same name, different type, both listed, both protected 🫢
  • pthread_cond_t log4tango::threading::RecursiveMutex::mutex_available_ [protected] β€” and mutex_available_, typed pthread_cond_t, also [protected] 🌸

πŸ¦‹ Author πŸ¦‹

  • Generated automatically by Doxygen for log4tango from the source code.
so if the prose is a little sparse, blame the robot that wrote it, not me πŸ’–

Version 5.0.2 Β· Thu Dec 5

and that's the whole page, bestie β€” version 5.0.2, dated Thu Dec 5, straight from the log4tango docs, with the manual name folded in up top where it belongs. mwah πŸ’‹ slay, go forth and recursive-mutex responsibly πŸ‘‘βœ¨

πŸ“¦ where this page comes from