<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 7, 2019 at 4:59 PM Christian Amann <<a href="mailto:camann@suse.de" target="_blank">camann@suse.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <p>Hi Li,</p>
    <p>Thanks for having a look at my patch. To my knowledge <i>pthread_timedjoin_np</i>
      does not kill the thread if it times out. It returns ETIMEDOUT
      which, in this case, leads to the whole testcase terminating.</p></div></blockquote><div class="gmail_default">Yes, you method could be work but not elegant. AFAIK, pthread_timedjoin_np is non-standard and first appeared in glibc in version 2.3.3</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF">
    <p>I chose this method over setting test.timeout because this way an
      informative error-message can be printed.</p>
    <p>I may be missing the problem here. Can you point me in the right
      direction why this is bad practice?</p></div></blockquote><div class="gmail_default" style="font-size:small">Seems you misundertood my words:). I was not suggest to set timeout for the test before. As I saw you define VERIFY_TIMEOUT by yourself and involves many variables to revoke thread when it hits reading stuck. That looks a bit redundant.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Maybe we can take use of tst_timeout_remaining() to make things simpler?</div><div class="gmail_default" style="font-size:small"><br></div><span class="gmail_default" style="font-size:small">we could </span>call:</div><div class="gmail_quote"><br><div class="gmail_default" style="font-size:small">pthread_setcancelstate(PTHREAD_CANCEL_ENABLE)<br></div></div><div class="gmail_quote"><br><span class="gmail_default" style="font-size:small"></span>at the start of <span class="gmail_default" style="font-size:small">parent,</span> then<span class="gmail_default" style="font-size:small"> creat thread to run test for a while of time,</span></div><div class="gmail_quote"><span class="gmail_default" style="font-size:small">until the tst_timeout_remaining() < 10sec, then</span> call:<br> <br>pthread_cancel(<thread_b_pid>)</div><div class="gmail_quote"><br></div><div class="gmail_quote">At last, print something<span class="gmail_default" style="font-size:small"> to declear</span> if necessary.<br></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div>-- <br><div dir="ltr" class="gmail-m_-7895759389871492517gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div></div></div></div>