Mercurial > mplayer.hg
diff osdep/lrmi.c @ 11519:830c5c1800bc
Save fs before calling vm86, this might eleminate bugs (if there were any) in cooperation of using vesa with win32 dlls. Patch by Peter Kosinar <goober@ksp.sk>
author | alex |
---|---|
date | Mon, 24 Nov 2003 22:39:03 +0000 |
parents | 22f8732b5d97 |
children | 7a6d3ca86409 |
line wrap: on
line diff
--- a/osdep/lrmi.c Mon Nov 24 21:45:46 2003 +0000 +++ b/osdep/lrmi.c Mon Nov 24 22:39:03 2003 +0000 @@ -794,14 +794,16 @@ { unsigned int vret; sigset_t allsigs, cursigs; - unsigned long oldgs; + unsigned long oldgs, oldfs; while (1) { sigfillset(&allsigs); sigprocmask(SIG_SETMASK, &allsigs, &cursigs); asm volatile ("movl %%gs, %0" : "=g" (oldgs)); + asm volatile ("movl %%fs, %0" : "=g" (oldfs)); vret = lrmi_vm86(&context.vm); + asm volatile ("movl %0, %%fs" :: "g" (oldfs)); asm volatile ("movl %0, %%gs" :: "g" (oldgs)); sigprocmask(SIG_SETMASK, &cursigs, NULL);