summaryrefslogtreecommitdiff
path: root/archive/st/patch/sync.c
diff options
context:
space:
mode:
Diffstat (limited to 'archive/st/patch/sync.c')
-rw-r--r--archive/st/patch/sync.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/archive/st/patch/sync.c b/archive/st/patch/sync.c
new file mode 100644
index 0000000..a0a815c
--- /dev/null
+++ b/archive/st/patch/sync.c
@@ -0,0 +1,31 @@
+#include <time.h>
+struct timespec sutv;
+
+static void
+tsync_begin()
+{
+ clock_gettime(CLOCK_MONOTONIC, &sutv);
+ su = 1;
+}
+
+static void
+tsync_end()
+{
+ su = 0;
+}
+
+int
+tinsync(uint timeout)
+{
+ struct timespec now;
+ if (su && !clock_gettime(CLOCK_MONOTONIC, &now)
+ && TIMEDIFF(now, sutv) >= timeout)
+ su = 0;
+ return su;
+}
+
+int
+ttyread_pending()
+{
+ return twrite_aborted;
+} \ No newline at end of file