delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/07/19/07:55:14

From: sos AT prospect DOT com DOT ru (Sergey Okhapkin)
Subject: Newlib headers corrections/additions
19 Jul 1997 07:55:14 -0700 :
Approved: cygnus DOT gnu-win32 AT cygnus DOT com
Distribution: cygnus
Message-ID: <01BC9468.4A957630.cygnus.gnu-win32@sos>
Original-To: "'Geoffrey Noer'" <noer AT cygnus DOT com>
Original-Cc: "'gnu-win32'" <gnu-win32 AT cygnus DOT com>
Encoding: 79 TEXT
Original-Sender: owner-gnu-win32 AT cygnus DOT com

Hi!

f:\cygnus\cdk\newlib\libc\include\sys>diff -u signal.orig signal.h
--- signal.orig Wed Jun 25 01:42:42 1997
+++ signal.h    Sat Jul 19 17:11:46 1997
@@ -26,15 +26,19 @@

 /* protos for functions found in winsup sources */
 #if defined(__CYGWIN32__)
+#undef sigaddset
+#undef sigemptyset
 /* The first argument to kill should be pid_t.  Right now
    <sys/types.h> always defines pid_t to be int.  If that ever
    changes, then we will need to do something else, perhaps along the
    lines of <machine/types.h>.  */
 int _EXFUN(kill, (int, int));
 int _EXFUN(sigaction, (int, const struct sigaction *, struct sigaction *));
+int _EXFUN(sigaddset, (sigset_t *, const int));
 int _EXFUN(sigdelset, (sigset_t *, const int));
 int _EXFUN(sigismember, (const sigset_t *, int));
 int _EXFUN(sigfillset, (sigset_t *));
+int _EXFUN(sigemptyset, (sigset_t *));
 int _EXFUN(sigpending, (sigset_t *));
 int _EXFUN(sigsuspend, (const sigset_t *));
 #endif

-----------------------------------------------------------------------------

....nus\cdk\newlib\libc\include\machine>diff -u setjmp.orig setjmp.h
--- setjmp.orig Fri Jul 11 03:19:22 1997
+++ setjmp.h    Sat Jul 19 17:18:10 1997
@@ -119,4 +119,23 @@
 #else
 typedef        int jmp_buf[_JBLEN];
 #endif
+#ifdef __CYGWIN32__
+#include <signal.h>
+
+/* POSIX sigsetjmp/siglongjmp macros */
+typedef struct {
+       jmp_buf jb_;
+       int savemask_;
+       sigset_t sigmask_;
+} sigjmp_buf;
+
+#define sigsetjmp(env, savemask) (env.savemask_ = savemask,\
+                               sigprocmask (SIG_SETMASK, 0, &env.sigmask_),\
+                               setjmp (env.jb_))
+
+#define siglongjmp(env, val) (((env.savemask_)?\
+                             sigprocmask (SIG_SETMASK, &env.sigmask_, 0):0),\
+                             longjmp (env.jb_, val))
+
+#endif /* __CYGWIN32__*/
 #endif

----------------------------------------------------------------------------------

f:\cygnus\cdk\newlib\libc\include\sys>diff -u unistd.orig unistd.h
--- unistd.orig Sat Jul 19 17:20:18 1997
+++ unistd.h    Sat Jul 19 14:41:08 1997
@@ -86,6 +86,12 @@
 # define _POSIX_VERSION        199009L
 #endif

+#ifdef __CYGWIN32__
+# define _POSIX_JOB_CONTROL    1
+# define _POSIX_SAVED_IDS      0
+# define _POSIX_VERSION        199009L
+#endif
+
 #define STDIN_FILENO    0       /* standard input file descriptor */
 #define STDOUT_FILENO   1       /* standard output file descriptor */
 #define STDERR_FILENO   2       /* standard error file descriptor */

-- 
Sergey Okhapkin, http://www.lexa.ru/sos
Moscow, Russia
Looking for a job

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019