[OSy] System calls - question (cz/sk)
Vojtech Horky
horky at d3s.mff.cuni.cz
Mon Nov 26 14:06:05 CET 2018
Dobrý den.
On 11/26/18 1:56 PM, Slávka Ivaničová wrote:
> Zdravím, vedel by mi, prosím, niekto objasniť zopár vecí k téme System
> calls z Operačných systémov?
>
> 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).
>
> Chápem to tak, že fukcia robí nasledovné:
> // check that the tid pointer points to a safely mapped user memory,
> if (tid != NULL && !vma_check_user((void*)tid, sizeof(struct uthread))) {
> return ENOMEM;
> }
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).
> 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.
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ý.
- VH
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://d3s.mff.cuni.cz/pipermail/nswi004/attachments/20181126/5bf5d626/attachment.html>
More information about the NSWI004
mailing list