summaryrefslogtreecommitdiff
path: root/bits
diff options
context:
space:
mode:
Diffstat (limited to 'bits')
-rw-r--r--bits/in.h7
-rw-r--r--bits/libc-lock.h3
-rw-r--r--bits/sigaction.h2
-rw-r--r--bits/stdio-lock.h17
4 files changed, 22 insertions, 7 deletions
diff --git a/bits/in.h b/bits/in.h
index 4b22e920c6..f7caa36a9c 100644
--- a/bits/in.h
+++ b/bits/in.h
@@ -57,7 +57,7 @@ struct ip_opts
/* IPV6 socket options. */
#define IPV6_ADDRFORM 1
-#define IPV6_RXINFO 2
+#define IPV6_PKTINFO 2
#define IPV6_HOPOPTS 3
#define IPV6_DSTOPTS 4
#define IPV6_RTHDR 5
@@ -65,8 +65,9 @@ struct ip_opts
#define IPV6_CHECKSUM 7
#define IPV6_HOPLIMIT 8
-#define IPV6_TXINFO IPV6_RXINFO
-#define SCM_SRCINFO IPV6_TXINFO
+#define IPV6_RXINFO IPV6_PKTINFO
+#define IPV6_TXINFO IPV6_PKTINFO
+#define SCM_SRCINFO IPV6_PKTINFO
#define SCM_SRCRT IPV6_RXSRCRT
#define IPV6_UNICAST_HOPS 16
diff --git a/bits/libc-lock.h b/bits/libc-lock.h
index 3f9c211e0a..a307f8cfff 100644
--- a/bits/libc-lock.h
+++ b/bits/libc-lock.h
@@ -98,6 +98,9 @@
} \
} while (0)
+/* Get once control variable. */
+#define __libc_once_get(ONCE_CONTROL) \
+ ((ONCE_CONTROL) == 1)
/* Start a critical region with a cleanup function */
#define __libc_cleanup_region_start(DOIT, FCT, ARG) \
diff --git a/bits/sigaction.h b/bits/sigaction.h
index adcc276cc8..97242a6edf 100644
--- a/bits/sigaction.h
+++ b/bits/sigaction.h
@@ -55,6 +55,8 @@ struct sigaction
/* Bits in `sa_flags'. */
#if defined __USE_UNIX98 || defined __USE_MISC
# define SA_ONSTACK 0x0001 /* Take signal on signal stack. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
# define SA_RESTART 0x0002 /* Restart syscall on signal return. */
# define SA_NODEFER 0x0010 /* Don't automatically block the signal when
its handler is being executed. */
diff --git a/bits/stdio-lock.h b/bits/stdio-lock.h
index d7c1db0132..3407171e03 100644
--- a/bits/stdio-lock.h
+++ b/bits/stdio-lock.h
@@ -47,12 +47,21 @@ __libc_lock_define_recursive (typedef, _IO_lock_t)
#if defined _LIBC && !defined NOT_IN_libc
# define _IO_acquire_lock(_fp) \
- _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \
- _IO_flockfile (_fp)
+ { \
+ _IO_FILE *_IO_acquire_lock_file = _fp; \
+ __libc_cleanup_region_start (1, (void (*) (void *)) _IO_acquire_lock_fct, &_IO_acquire_lock_file); \
+ _IO_flockfile (_IO_acquire_lock_file)
+
+# define _IO_acquire_lock_clear_flags2(_fp) \
+ { \
+ _IO_FILE *_IO_acquire_lock_file = _fp; \
+ __libc_cleanup_region_start (1, (void (*) (void *)) _IO_acquire_lock_clear_flags2_fct, &_IO_acquire_lock_file); \
+ _IO_flockfile (_IO_acquire_lock_file)
# define _IO_release_lock(_fp) \
- _IO_funlockfile (_fp); \
- _IO_cleanup_region_end (0)
+ __libc_cleanup_region_end (1); \
+ }
+
#endif
#endif /* bits/stdio-lock.h */