Release 970415
Mon Apr 14 11:22:54 1997 John Harvey <john@division.co.uk>
* [graphics/win16drv/init.c]
Minor changes to help debug problems.
* [if1632/dummy.c] [if1632/gdi.spec]
Dummy routines for StartPage, EndPage, SetAbortProc, AbortProc.
* [misc/printdrv.c] [if1632/gdi.spec] [include/windows.h]
StartDoc16, EndDoc16 new functions.
Sun Apr 13 11:18:35 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [memory/virtual.c]
Implemented MapViewOfFile.
* [debugger/dbg.y]
Added 'info maps' command.
Fri Apr 11 16:34:08 1997 Frans van Dorsselaer <devel@rulhmpc58.LeidenUniv.nl>
* [controls/edit.c] [controls/EDIT.TODO]
Started restructuring. Performance improvements.
Fixed: wordwrap, scrollbar handling, scrolling, painting,
EditWndProc() is now reentrant, wordbreak procs,
better compliance to specs.
New: margins, format rectangle.
* [controls/widgets.c]
Changed the cursor for the edit control class to an I-beam.
* [include/callback.h]
Added 32 bit wordbreak callback.
Mon Apr 7 20:53:28 1997 Albrecht Kleine <kleine@ak.sax.de>
* [objects/metafile.c]
Added handling of some more metafile records:
META_CREATEREGION, META_INVERTREGION etc.
Sat Apr 5 09:23:02 MET DST 1997 Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
* [loader/signal.c]
Define kernel sigaction ourselves instead of getting it
from the kernel source.
Wed Apr 2 21:05:00 1997 Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [control/menu.c]
Fix return value range for GetMenuState.
* [files/file.c]
Always fill out ofs->szPathName in FILE_DoOpenFile.
* [memory/string.c]
Add debug option string.
* [objects/cursoricon.c]
Fix return value for DestroyIcon32.
Mon Mar 31 17:16:12 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [DEVELOPERS-HINTS] [misc/*] [windows/*] [graphics/*]
Added description of the source tree. Moved several
files to fit it.
* [misc/shell.c]
Use Win32 heap functions.
diff --git a/loader/signal.c b/loader/signal.c
index fd2203f..96281bf 100644
--- a/loader/signal.c
+++ b/loader/signal.c
@@ -1,11 +1,7 @@
#ifndef WINELIB
#include <stdio.h>
#include <stdlib.h>
-#ifdef __GLIBC__
-#include <linux/signal.h>
-#else
#include <signal.h>
-#endif
#include <string.h>
#include <errno.h>
#include <time.h>
@@ -39,11 +35,21 @@
extern void ___sig_restore();
extern void ___masksig_restore();
+/* This is the sigaction structure from the Linux 2.1.20 kernel. */
+
+struct kernel_sigaction {
+ __sighandler_t sa_handler;
+ unsigned long sa_mask;
+ unsigned long sa_flags;
+ void (*sa_restorer) __P ((void));
+};
+
/* Similar to the sigaction function in libc, except it leaves alone the
restorer field */
static int
-wine_sigaction(int sig,struct sigaction * new, struct sigaction * old)
+wine_sigaction(int sig,struct kernel_sigaction * new,
+ struct kernel_sigaction * old)
{
__asm__("int $0x80":"=a" (sig)
:"0" (SYS_sigaction),"b" (sig),"c" (new),"d" (old));
@@ -166,9 +172,9 @@
static void SIGNAL_SetHandler( int sig, void (*func)(), int flags )
{
int ret;
- struct sigaction sig_act;
#ifdef linux
+ struct kernel_sigaction sig_act;
sig_act.sa_handler = func;
sig_act.sa_flags = SA_RESTART | (flags) ? SA_NOMASK : 0;
/* Point to the top of the stack, minus 4 just in case, and make
@@ -179,6 +185,7 @@
#endif /* linux */
#if defined(__NetBSD__) || defined(__FreeBSD__)
+ struct sigaction sig_act;
sigset_t sig_mask;
sigemptyset(&sig_mask);
sig_act.sa_handler = func;
@@ -188,6 +195,7 @@
#endif /* __FreeBSD__ || __NetBSD__ */
#if defined (__svr4__) || defined(_SCO_DS)
+ struct sigaction sig_act;
sigset_t sig_mask;
sigemptyset(&sig_mask);
sig_act.sa_handler = func;
@@ -197,6 +205,7 @@
#endif /* __svr4__ || _SCO_DS */
#if defined(__EMX__)
+ struct sigaction sig_act;
sigset_t sig_mask;
sigemptyset(&sig_mask);
sig_act.sa_handler = func;