<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">