summaryrefslogtreecommitdiffstats
path: root/newlib/libc/time/tzlock.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/time/tzlock.c')
-rw-r--r--newlib/libc/time/tzlock.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/newlib/libc/time/tzlock.c b/newlib/libc/time/tzlock.c
new file mode 100644
index 000000000..66fa1c366
--- /dev/null
+++ b/newlib/libc/time/tzlock.c
@@ -0,0 +1,44 @@
+/*
+FUNCTION
+<<__tz_lock>>, <<__tz_unlock>>--lock time zone global variables
+
+INDEX
+ __tz_lock
+INDEX
+ __tz_unlock
+
+ANSI_SYNOPSIS
+ #include "local.h"
+ void __tz_lock (void);
+ void __tz_unlock (void);
+
+TRAD_SYNOPSIS
+ void __tz_lock();
+ void __tz_unlock();
+
+DESCRIPTION
+The <<tzset>> facility functions call these functions when they need
+to ensure the values of global variables. The version of these routines supplied
+in the library do not do anything. If multiple threads of execution
+can call the time functions and give up scheduling in the middle, then you
+you need to define your own versions of these functions in order to
+safely lock the time zone variables during a call. If you do not, the results
+of <<localtime>>, <<mktime>>, <<ctime>>, and <<strftime>> are undefined.
+
+The lock <<__tz_lock>> may not be called recursively; that is,
+a call <<__tz_lock>> will always lock all subsequent <<__tz_lock>> calls
+until the corresponding <<__tz_unlock>> call on the same thread is made.
+*/
+
+#include <_ansi.h>
+#include "local.h"
+
+_VOID
+_DEFUN_VOID (__tz_lock)
+{
+}
+
+_VOID
+_DEFUN_VOID (__tz_unlock)
+{
+}