equal
deleted
inserted
replaced
39 SDL_LockMutex(queue^.mut); |
39 SDL_LockMutex(queue^.mut); |
40 |
40 |
41 s.next:= nil; |
41 s.next:= nil; |
42 s.barrier:= 0; |
42 s.barrier:= 0; |
43 |
43 |
44 if (queue^.msg.next = nil) and (queue^.msg.str[0] = #0) and (queue^.msg.buf = nil) then |
44 if (queue^.msg.next = nil) and (queue^.msg.str[0] = #0) and (queue^.msg.buf = nil) and (queue^.msg.barrier = 0) then |
45 begin |
45 begin |
46 queue^.msg:= s; |
46 queue^.msg:= s; |
47 end else |
47 end else |
48 begin |
48 begin |
49 new(pmsg); |
49 new(pmsg); |
127 q:= queueEngine; |
127 q:= queueEngine; |
128 |
128 |
129 SDL_LockMutex(q^.mut); |
129 SDL_LockMutex(q^.mut); |
130 |
130 |
131 pmsg:= @q^.msg; |
131 pmsg:= @q^.msg; |
132 q^.last:= @q^.msg; |
132 write(' ipcRemoveBarrierFromEngineQueue: '); |
133 |
|
134 while pmsg <> nil do |
133 while pmsg <> nil do |
135 begin |
134 begin |
|
135 write('.'); |
136 t:= pmsg^.next; |
136 t:= pmsg^.next; |
137 q^.msg.next:= t; |
137 q^.msg.next:= t; |
138 |
138 |
|
139 pmsg^.str[0]:= #0; |
139 if pmsg^.buf <> nil then |
140 if pmsg^.buf <> nil then |
|
141 begin |
140 FreeMem(pmsg^.buf, pmsg^.len); |
142 FreeMem(pmsg^.buf, pmsg^.len); |
|
143 pmsg^.buf:= nil |
|
144 end; |
141 |
145 |
142 if pmsg <> @q^.msg then |
146 if pmsg <> @q^.msg then |
143 if pmsg^.barrier = 0 then |
147 if pmsg^.barrier = 0 then |
144 dispose(pmsg) |
148 dispose(pmsg) |
145 else |
149 else |
160 t:= nil |
164 t:= nil |
161 end; |
165 end; |
162 |
166 |
163 pmsg:= t |
167 pmsg:= t |
164 end; |
168 end; |
|
169 writeln; |
|
170 if q^.msg.next = nil then q^.last:= @q^.msg; |
165 |
171 |
166 q^.msg.str[0]:= #0; |
172 q^.msg.str[0]:= #0; |
167 q^.msg.buf:= nil; |
173 q^.msg.buf:= nil; |
168 |
174 |
169 SDL_UnlockMutex(q^.mut); |
175 SDL_UnlockMutex(q^.mut); |