<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Dobrý den.<br>
    </p>
    <div class="moz-cite-prefix">On 11/26/18 1:56 PM, Slávka Ivaničová
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAPJCgrkvzauQovuzuAQhHOuM8_gxxGPDbxn+cP55w_s=TUPEDQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">
          <div dir="ltr">
            <div dir="ltr">
              <div dir="ltr">
                <div dir="ltr">
                  <div dir="ltr">
                    <div dir="ltr">
                      <div dir="ltr">
                        <div dir="ltr">
                          <div dir="ltr">
                            <div dir="ltr">
                              <div dir="ltr">
                                <div dir="ltr">Zdravím, vedel by mi,
                                  prosím, niekto objasniÅ¥ zopár vecí k
                                  téme System calls z Operačných
                                  systémov? 
                                  <div><br>
                                  </div>
                                  <div>V súbore kernel/proc/sys_thread.c
                                    je fukcia sys_thread_join (uintptr_t
                                    tid, void **thread_retval), ktorá má
                                    spojiÅ¥ thread (join a thread). </div>
                                  <div><br>
                                  </div>
                                  <div>Chápem to tak, Å¾e fukcia robí
                                    nasledovné:</div>
                                  <div>// check that the tid pointer
                                    points to a safely mapped user
                                    memory,</div>
                                  <div>
                                    <div><span style="white-space:pre-wrap">      </span>if
                                      (tid != NULL &&
                                      !vma_check_user((void*)tid,
                                      sizeof(struct uthread))) {</div>
                                    <div><span style="white-space:pre-wrap">              </span>return
                                      ENOMEM;</div>
                                    <div><span style="white-space:pre-wrap">      </span>}</div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <p>Koukám do komentářů a tam Å™Ã¡dil tiskařský Å¡otek, protože oba
      komentáře Å™Ã­kají to stejné a vztahují se k thread_retval. Z
      principu je tid pointer do kernelové paměti (vizte funkci
      sys_thread_create).<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite"
cite="mid:CAPJCgrkvzauQovuzuAQhHOuM8_gxxGPDbxn+cP55w_s=TUPEDQ@mail.gmail.com">
      <div dir="ltr">
        <div dir="ltr">
          <div dir="ltr">
            <div dir="ltr">
              <div dir="ltr">
                <div dir="ltr">
                  <div dir="ltr">
                    <div dir="ltr">
                      <div dir="ltr">
                        <div dir="ltr">
                          <div dir="ltr">
                            <div dir="ltr">
                              <div dir="ltr">
                                <div dir="ltr">Mojou otázkou je, Äi je
                                  potrebné v tejto fukcií prechádzaÅ¥
                                  zoznam process->uthread_list a
                                  porovnaÅ¥, Äi sa uthread nachádza v
                                  zozname.</div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <p>Je potřeba zajistit, Å¾e userspacový proces nezkouší např. Äekat
      na vlákno jiného procesu popř., obecněji, jestli nepodstrčil tid,
      který je nesmyslný.</p>
    <p><br>
    </p>
    - VH<br>
    <br>
  </body>
</html>