equal
deleted
inserted
replaced
4 |
4 |
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); cdecl; |
10 procedure ipcSetEngineBarrier(); |
10 procedure ipcSetEngineBarrier(); cdecl; |
11 procedure ipcRemoveBarrierFromEngineQueue(); |
11 procedure ipcRemoveBarrierFromEngineQueue(); cdecl; |
12 //function ipcReadFromEngine: shortstring; |
12 //function ipcReadFromEngine: shortstring; |
13 //function ipcCheckFromEngine: boolean; |
13 //function ipcCheckFromEngine: boolean; |
14 |
14 |
15 procedure ipcToFrontend(s: shortstring); |
15 procedure ipcToFrontend(s: shortstring); |
16 procedure ipcToFrontendRaw(p: pointer; len: Longword); |
16 procedure ipcToFrontendRaw(p: pointer; len: Longword); |
103 msg.str:= s; |
103 msg.str:= s; |
104 msg.buf:= nil; |
104 msg.buf:= nil; |
105 ipcSend(msg, queueFrontend) |
105 ipcSend(msg, queueFrontend) |
106 end; |
106 end; |
107 |
107 |
108 procedure ipcSetEngineBarrier(); |
108 procedure ipcSetEngineBarrier(); cdecl; |
109 begin |
109 begin |
110 SDL_LockMutex(queueEngine^.mut); |
110 SDL_LockMutex(queueEngine^.mut); |
111 |
111 |
112 inc(queueEngine^.last^.barrier); |
112 inc(queueEngine^.last^.barrier); |
113 |
113 |
114 SDL_UnlockMutex(queueEngine^.mut); |
114 SDL_UnlockMutex(queueEngine^.mut); |
115 end; |
115 end; |
116 |
116 |
117 procedure ipcRemoveBarrierFromEngineQueue(); |
117 procedure ipcRemoveBarrierFromEngineQueue(); cdecl; |
118 var pmsg, t: PIPCMessage; |
118 var pmsg, t: PIPCMessage; |
119 q: PIPCQueue; |
119 q: PIPCQueue; |
120 begin |
120 begin |
121 q:= queueEngine; |
121 q:= queueEngine; |
122 |
122 |
165 q^.msg.buf:= nil; |
165 q^.msg.buf:= nil; |
166 |
166 |
167 SDL_UnlockMutex(q^.mut); |
167 SDL_UnlockMutex(q^.mut); |
168 end; |
168 end; |
169 |
169 |
170 procedure ipcToEngineRaw(p: pointer; len: Longword); |
170 procedure ipcToEngineRaw(p: pointer; len: Longword); cdecl; |
171 var msg: TIPCMessage; |
171 var msg: TIPCMessage; |
172 begin |
172 begin |
173 msg.str[0]:= #0; |
173 msg.str[0]:= #0; |
174 msg.len:= len; |
174 msg.len:= len; |
175 msg.buf:= GetMem(len); |
175 msg.buf:= GetMem(len); |