title: Cancelling a thread using pthread_cancel : good practice or bad
body: <p>I have a C++ program on Linux (CentOS 5.3) spawning multiple threads which are in an infinite loop to perform a job and sleep for certain minutes.
  Now I have to cancel the running threads in case a new configuration notification comes in and freshly start new set of threads, for which i have used pthread_cancel.
  What I observed was, the threads were not getting stopped even after receiving cancel indication,even some sleeping threads were coming up after the sleep was completed.</p>
  
  <p>As the behavior was not desired, usage of pthread_cancel in the mentioned scenario raises question about being good or bad practice.  </p>
  
  <p>Please comment on the pthread_cancel usage in above mentioned scenario.</p>