1<assertions> 2 <assertion id="1" tag="ref:XSH6:32050:32055"> 3 The function 4 5 void pthread_cleanup_push(void (*routine) (void*), void *arg); 6 7 Shall push the specified cancelation cleanup handler routine onto the calling thread's 8 cancelation cleanup stack. 9 10 The cancelation cleanup handler shall be popped from the cancelation cleanup stack and invoked 11 with the argument arg when: 12 13 - The thread exits (calls pthread_exit()) 14 - The thread acts upon a cancelation request 15 - the thread calls pthread_cleanup_pop() with a non-zero execution argument 16 </assertion> 17 18 <assertion id="2" tag="ref:XSH6:32066:32069"> 19 It will not return a value, or an error code of [EINTR] 20 </assertion> 21 22</assertions> 23