summaryrefslogtreecommitdiff
path: root/openttd.h
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2005-09-02 16:05:59 +0000
committerDarkvater <darkvater@openttd.org>2005-09-02 16:05:59 +0000
commita181446829c3de933ccccffcc652c0c7b19f9968 (patch)
tree770995fa006874ecf7f11983a589bd239a3e85a0 /openttd.h
parentae356b641d0b208e7973ce9c30472909b75fb9af (diff)
downloadopenttd-a181446829c3de933ccccffcc652c0c7b19f9968.tar.xz
(svn r2906) Fix some threaded saving problems. Now the thread only interfaces with the main program through a sort of mutex. Communication uses the function OTTD_SendThreadMessage() with the approiate message which is handled in ProcessSentMessage() during the main loop.
Diffstat (limited to 'openttd.h')
-rw-r--r--openttd.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/openttd.h b/openttd.h
index 5b84d0017..1243cc74a 100644
--- a/openttd.h
+++ b/openttd.h
@@ -543,4 +543,15 @@ enum {
};
VARDEF byte _no_scroll;
+/** To have a concurrently running thread interface with the main program, use
+ * the OTTD_SendThreadMessage() function. Actions to perform upon the message are handled
+ * in the ProcessSentMessage() function */
+typedef enum ThreadMsgs {
+ MSG_OTTD_SAVETHREAD_START = 1,
+ MSG_OTTD_SAVETHREAD_DONE = 2,
+ MSG_OTTD_SAVETHREAD_ERROR = 3,
+} ThreadMsg;
+
+void OTTD_SendThreadMessage(ThreadMsg msg);
+
#endif /* OPENTTD_H */