# HG changeset patch # User ranma # Date 1068547176 0 # Node ID 5084f09ba20e9c3392b432ba326214e95229b905 # Parent 6d27f80d691805a8eb353776991981b9150e3aba Fix pthread & lrmi segfault issue. ("Oleg I. Vdovikin" ) diff -r 6d27f80d6918 -r 5084f09ba20e osdep/lrmi.c --- a/osdep/lrmi.c Tue Nov 11 00:20:09 2003 +0000 +++ b/osdep/lrmi.c Tue Nov 11 10:39:36 2003 +0000 @@ -11,6 +11,7 @@ Original location: http://cvs.debian.org/lrmi/ */ +#include #include #include #include @@ -789,10 +790,17 @@ run_vm86(void) { unsigned int vret; + sigset_t allsigs, cursigs; + unsigned long oldgs; while (1) { + sigfillset(&allsigs); + sigprocmask(SIG_SETMASK, &allsigs, &cursigs); + asm volatile ("movl %%gs, %0" : "=g" (oldgs)); vret = lrmi_vm86(&context.vm); + asm volatile ("movl %0, %%gs" :: "g" (oldgs)); + sigprocmask(SIG_SETMASK, &cursigs, NULL); if (VM86_TYPE(vret) == VM86_INTx) {