Prev Next OpenBSD and Rthreads Slide #30

Future Work: __mwrite()

        sigprocmask(SIG_BLOCK, &allsigs, &curset);
        spinlock_lock(&bind_lock);              /* libpthread cb */
        mprotect(addr, len, PROT_READ|PROT_WRITE);
        /* update the GOT entry */
        mprotect(addr, len, PROT_READ);
        spinlock_unlock(&bind_lock);            /* libpthread cb */
        sigprocmask(SIG_SETMASK, &curset, NULL);


EuroBSDCon 2012 Copyright © 2012 Philip Guenther