equal
deleted
inserted
replaced
5 procedure initIPC; |
5 procedure initIPC; |
6 procedure freeIPC; |
6 procedure freeIPC; |
7 |
7 |
8 procedure ipcToEngine(s: shortstring); |
8 procedure ipcToEngine(s: shortstring); |
9 procedure ipcToEngineRaw(p: pointer; len: Longword); |
9 procedure ipcToEngineRaw(p: pointer; len: Longword); |
|
10 procedure ipcCleanEngineQueue(); |
10 //function ipcReadFromEngine: shortstring; |
11 //function ipcReadFromEngine: shortstring; |
11 //function ipcCheckFromEngine: boolean; |
12 //function ipcCheckFromEngine: boolean; |
12 |
13 |
13 procedure ipcToNet(s: shortstring); |
14 procedure ipcToNet(s: shortstring); |
14 procedure ipcToNetRaw(p: pointer; len: Longword); |
15 procedure ipcToNetRaw(p: pointer; len: Longword); |
97 msg.str:= s; |
98 msg.str:= s; |
98 msg.buf:= nil; |
99 msg.buf:= nil; |
99 ipcSend(msg, queueFrontend) |
100 ipcSend(msg, queueFrontend) |
100 end; |
101 end; |
101 |
102 |
|
103 procedure ipcCleanEngineQueue(); |
|
104 var pmsg, t: PIPCMessage; |
|
105 q: PIPCQueue; |
|
106 begin |
|
107 q:= queueEngine; |
|
108 |
|
109 SDL_LockMutex(q^.mut); |
|
110 |
|
111 pmsg:= @q^.msg; |
|
112 q^.last:= pmsg; |
|
113 |
|
114 while pmsg <> nil do |
|
115 begin |
|
116 t:= pmsg^.next; |
|
117 |
|
118 if pmsg^.buf <> nil then |
|
119 FreeMem(pmsg^.buf, pmsg^.len); |
|
120 |
|
121 if pmsg <> @q^.msg then |
|
122 dispose(pmsg); |
|
123 pmsg:= t |
|
124 end; |
|
125 |
|
126 q^.msg.next:= nil; |
|
127 q^.msg.str[0]:= #0; |
|
128 q^.msg.buf:= nil; |
|
129 |
|
130 SDL_UnlockMutex(q^.mut); |
|
131 end; |
|
132 |
102 procedure ipcToNet(s: shortstring); |
133 procedure ipcToNet(s: shortstring); |
103 var msg: TIPCMessage; |
134 var msg: TIPCMessage; |
104 begin |
135 begin |
105 msg.str:= s; |
136 msg.str:= s; |
106 msg.buf:= nil; |
137 msg.buf:= nil; |