aboutsummaryrefslogtreecommitdiffstats
path: root/src/sysdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sysdep.c')
-rw-r--r--src/sysdep.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/sysdep.c b/src/sysdep.c
index 3a73b1a467b..fc2f846b0dc 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1534,7 +1534,7 @@ sigset_t
1534sys_sigblock (sigset_t new_mask) 1534sys_sigblock (sigset_t new_mask)
1535{ 1535{
1536 sigset_t old_mask; 1536 sigset_t old_mask;
1537 sigprocmask (SIG_BLOCK, &new_mask, &old_mask); 1537 pthread_sigmask (SIG_BLOCK, &new_mask, &old_mask);
1538 return (old_mask); 1538 return (old_mask);
1539} 1539}
1540 1540
@@ -1542,7 +1542,7 @@ sigset_t
1542sys_sigunblock (sigset_t new_mask) 1542sys_sigunblock (sigset_t new_mask)
1543{ 1543{
1544 sigset_t old_mask; 1544 sigset_t old_mask;
1545 sigprocmask (SIG_UNBLOCK, &new_mask, &old_mask); 1545 pthread_sigmask (SIG_UNBLOCK, &new_mask, &old_mask);
1546 return (old_mask); 1546 return (old_mask);
1547} 1547}
1548 1548
@@ -1550,7 +1550,7 @@ sigset_t
1550sys_sigsetmask (sigset_t new_mask) 1550sys_sigsetmask (sigset_t new_mask)
1551{ 1551{
1552 sigset_t old_mask; 1552 sigset_t old_mask;
1553 sigprocmask (SIG_SETMASK, &new_mask, &old_mask); 1553 pthread_sigmask (SIG_SETMASK, &new_mask, &old_mask);
1554 return (old_mask); 1554 return (old_mask);
1555} 1555}
1556 1556
@@ -1783,7 +1783,8 @@ seed_random (long int arg)
1783} 1783}
1784 1784
1785/* 1785/*
1786 * Build a full Emacs-sized word out of whatever we've got. 1786 * Return a nonnegative random integer out of whatever we've got.
1787 * It contains enough bits to make a random (signed) Emacs fixnum.
1787 * This suffices even for a 64-bit architecture with a 15-bit rand. 1788 * This suffices even for a 64-bit architecture with a 15-bit rand.
1788 */ 1789 */
1789EMACS_INT 1790EMACS_INT
@@ -1791,16 +1792,17 @@ get_random (void)
1791{ 1792{
1792 EMACS_UINT val = 0; 1793 EMACS_UINT val = 0;
1793 int i; 1794 int i;
1794 for (i = 0; i < (VALBITS + RAND_BITS - 1) / RAND_BITS; i++) 1795 for (i = 0; i < (FIXNUM_BITS + RAND_BITS - 1) / RAND_BITS; i++)
1795 val = (val << RAND_BITS) ^ random (); 1796 val = (random () ^ (val << RAND_BITS)
1796 return val & (((EMACS_INT) 1 << VALBITS) - 1); 1797 ^ (val >> (BITS_PER_EMACS_INT - RAND_BITS)));
1798 val ^= val >> (BITS_PER_EMACS_INT - FIXNUM_BITS);
1799 return val & INTMASK;
1797} 1800}
1798 1801
1799#ifndef HAVE_STRERROR 1802#ifndef HAVE_STRERROR
1800#ifndef WINDOWSNT 1803#ifndef WINDOWSNT
1801char * 1804char *
1802strerror (errnum) 1805strerror (int errnum)
1803 int errnum;
1804{ 1806{
1805 extern char *sys_errlist[]; 1807 extern char *sys_errlist[];
1806 extern int sys_nerr; 1808 extern int sys_nerr;