<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/85282>85282</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [libc] implement pthread condition variable support (pthread_cond_*)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          nickdesaulniers
      </td>
    </tr>
</table>

<pre>
    int [pthread_cond_broadcast](https://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_cond_broadcast.html)(pthread_cond_t *);
int [pthread_cond_destroy](https://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_cond_destroy.html)(pthread_cond_t *);
int [pthread_cond_init](https://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_cond_init.html)(pthread_cond_t *, const pthread_condattr_t *);
int [pthread_cond_signal](https://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_cond_signal.html)(pthread_cond_t *);
int [pthread_cond_timedwait](https://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_cond_timedwait.html)(pthread_cond_t *, 
          pthread_mutex_t *, const struct timespec *);
int [pthread_cond_wait](https://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_cond_wait.html)(pthread_cond_t *, pthread_mutex_t *);


Specifically, FWICT libc++ depends on:
```
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
```
(but not pthread_cond_init??)  I don't think we implement any of these. We'll likely need to implement pthread_cond_init first to begin testing the rest.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VUFvqzwQ_DXmYhUZAwEOHJpGSD1_n9RjZewN-NXYyF7a5t8_OUmbpulTK1WJUKJ4d8cz61ksQtCDBWhJuSblJhELjs63VssnBUEsxmrwIemd2rXaIiXlesbRg1CP0ln12HsnlBQBSbkhvB4R50DyW8I7wrt56UPqZrCDd8ucOj8Q3jlrtIUYIryrGlZXTUN49xrGWPEldjriZAhvCK_PEpASfhvX8zVhG8Juv2KoIKB3uyvwOyL_ip22-hqti7Df8Lqj0tmA9GNMIPqf8Y6uEeYKzA_Av-op6gnUi7hKY9-xv-3ugR99_7xlTQvC6-dDCOgXiTSihxnkT1ReSeCPtH2p5UT34_d_M0i91VIYs4ul3cP93f_U6F4SviZ8TRXMYFWgzkYJh8oVOz77v_944VzG3kb9MnK062Xg5JXL2Gn5EyHC635Bat359ByGOe_iwxtK76lylvAKKY7aPtEXoHqaDUxgkQq7o25LcYQAKX0AwitjqNFPYHbUAiiK7kP6xT50q33AmNTDoC1FCKjtEAGph4BpotpcNXkjEmizKmNF3mScJWNbZiBXVSFUlbGmllmxzYpqq2omV6stZ3WiW854wfKsyKqyLli6YkUt-lxtZaZWvK5IwWAS2qTGPE_RYYkOYYG2LnnNEyN6MGF_oXB-OGgerxbfxvSbfhkCKZjRAcMJADWa_SW0Lyg3l9LjpCiN2ln6LLwWvQEalnl2Pvrv3KgHPyaLN-35cAwax6VPpZsI7-Lmx5-b2bs_IJHwbi8ljslezd8AAAD__ySIV1E">