This routine initializes the mutex attributes object specified
by the attr argument with a set of default values. A mutex
attributes object is used to specify the attributes of one or
more mutexes when they are created. The attributes object created
by this routine is used only in calls to the pthread_mutex_init()
routine.
When a mutex attributes object is used to create a mutex, the
values of the individual attributes determine the characteristics
of the new mutex. Thus, attributes objects act as additional
arguments to mutex creation. Changing individual attributes
in an attributes object does not affect any mutexes that were
previously created using that attributes object.
You can use the same mutex attributes object in successive calls
to pthread_mutex_init(), from any thread. If multiple threads
can change attributes in a shared mutex attributes object,
your program must use a mutex to protect the integrity of the
attributes object's contents.
Results are undefined if this routine is called and the attr
argument specifies a mutex attributes object that is already
initialized.