# GSOC reports ## Google summer of code week 1 This is my first gsoc report. because this application is much related to some muiti-process operations,I took me some time to understand. The first problem is to use pdfork. because fork() is disallowed in capability mode, we use pdfork() to replace -- same sematics, but returns a file descriptor. ```clike cpid = fork(pfd,0); ``` I spent some time to understand the behavior of it to make it successfully compiled. The second problem is to limit the file descriptor used by open. ```clike fd = open(path, O_WRONLY|O_NONBLOCK, 0)) ``` it sets up a specific right (write) for a file descriptor and then attempts to enforce the limitation. If the operation fails, the program will terminate with a specific error message. ```clike= (void)setlocale(LC_CTYPE, ""); ``` the character type locale to the system default. I speculate that it might related to NLS data,therefore, I decided to use caph_cache_catpages() to cache native language support data. rights reference https://man.freebsd.org/cgi/man.cgi?rights(4)