pthread_cancel() returns zero after completing successfully. Any other return value indicates that an error occurred. When the following condition occurs, the function fails and returns the corresponding value.
ESRCH
Description:No thread could be found corresponding to that specified by the given thread ID.