<assertions>
  <assertion id="1" tag="ref:XSH6:34360:34368">
   The function

   int pthread_mutexattr_setprotocol(const pthread_mutexattr_t *restrict attr,
	int protocol);

  Sets the protocol attribute of a mutex attribute object which was prev. created
  by the function pthread_mutexattr_init().
  </assertion>

  <assertion id="2" tag="ref:XSH6:34402:34405">
  Upon success, it returns 0.
  </assertion>
  <assertion id="3" tag="ref:XSH6:34406:34412">
  It Shall fail if:
  	[ENOTSUP] The value specified by protocol is an unsupported value.

  If may fail if:
	[EINVAL] - 'attr' or 'protocol' is invalid.
  	[EPERM] - The caller doesn't have the privilege to perform the operation.

  Shall not return error code of [EINTR].
  </assertion>
</assertions>
