Commit Graph

60 Commits

Author SHA1 Message Date
Unknown W. Brackets 1b1a8cef02 Fix a potential null pointer. 2013-10-05 11:13:40 -07:00
Unknown W. Brackets 49bd553238 Avoid some shadowing warnings. 2013-10-05 11:13:39 -07:00
Unknown W. Brackets 50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Unknown W. Brackets be468af52d Refactor waiting thread removal. 2013-09-09 00:22:00 -07:00
Unknown W. Brackets 4bd391b098 Refactor waiting thread cleanup. 2013-09-09 00:22:00 -07:00
Unknown W. Brackets d348b9d47a Add callback handlers for msgpipes. 2013-09-08 15:06:36 -07:00
Unknown W. Brackets 9a2beffea5 Refactor and add a way to remove msgpipe waits. 2013-09-08 15:06:35 -07:00
Unknown W. Brackets f59d799a5b Reorganize msgpipes code a bit to prep. for cbs.
No real changes.
2013-09-08 15:06:34 -07:00
Unknown W. Brackets 136d0b5c50 Split msgpipe handling logic from wait/resched.
This way I can reuse it for the callback stuff.
2013-09-08 15:06:34 -07:00
Henrik Rydgard 8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
Unknown W. Brackets f35b164d11 Refactor wait verification a bit in kernel waits. 2013-09-07 10:54:00 -07:00
Unknown W. Brackets 543df7ca7a Refactor wait timeouts.
Also, make them not write the timeout ptr if the thread stopped waiting.
Feels safer.
2013-09-03 22:32:22 -07:00
Unknown W. Brackets 7349de55d1 Fix some initialization/sprintf warnings. 2013-09-01 01:15:07 -07:00
Henrik Rydgard 0d0b43818c Warning fixes and stuff 2013-08-30 20:14:16 +02:00
Unknown W. Brackets 686d893d5c Return more correct errors inside interrupts. 2013-08-28 22:35:06 -07:00
Unknown W. Brackets 61fae4e920 Return proper errors while dispatch disabled.
In at least the majority of waits.
2013-08-27 23:55:37 -07:00
Unknown W. Brackets 354dbfec6c Improve some reporting of options structs. 2013-08-25 16:43:47 -07:00
Unknown W. Brackets ec46fdd06c Warning fixes in msgpipes. 2013-08-24 15:36:24 -07:00
Unknown W. Brackets 4f7f963274 Correct sceKernelReferMsgPipeStatus(). 2013-08-18 18:45:43 -07:00
Unknown W. Brackets a53c5d291c Update result on non-buffer receive empty too. 2013-08-18 18:45:43 -07:00
Unknown W. Brackets 2d1b2bc769 Writing 0s on delete/cancel wasn't right after all. 2013-08-18 18:45:43 -07:00
Unknown W. Brackets 642e7b255e Drain as much as possible before waiting. 2013-08-18 18:45:42 -07:00
Unknown W. Brackets e6236a1d31 Fix sceKernelReceiveMsgPipe() with no buffer.
And simplify, reschedule correctly.
2013-08-18 18:45:42 -07:00
Unknown W. Brackets b7ea35b71d Add some error checking to msgpipe receives. 2013-08-18 18:38:14 -07:00
Unknown W. Brackets e2f0dfe243 Wrap sceKernelReceiveMsgPipe() and friends. 2013-08-18 18:38:14 -07:00
Unknown W. Brackets 6750794c8a Fix a weird sceKernelTrySendMsgPipe() edge case. 2013-08-18 18:38:12 -07:00
Unknown W. Brackets 769bac3acf Fix send of 0 bytes, more error handling. 2013-08-18 18:38:12 -07:00
Unknown W. Brackets 29067edf52 When sorting, also clear not waiting threads. 2013-08-18 18:38:11 -07:00
Unknown W. Brackets 23625eec30 Simplify and fix msgpipe send queuing logic.
Should reschedule, should wait in line, couple error messages.
2013-08-18 18:38:11 -07:00
Unknown W. Brackets 27268967f9 Sort msgpipe waits while waking (like others.) 2013-08-18 18:38:10 -07:00
Unknown W. Brackets 4be06d2432 Wrap the msgpipe send functions. 2013-08-18 18:38:10 -07:00
Unknown W. Brackets 653e0f9629 Don't wait on a msgpipe when timeout <= 2. 2013-08-18 18:38:09 -07:00
Unknown W. Brackets 8a5dadcf53 Start out with 0 written msgpipe bytes. 2013-08-18 18:38:09 -07:00
Unknown W. Brackets b06de35536 Verify msgpipe threads are waiting before waking. 2013-08-18 18:38:08 -07:00
Unknown W. Brackets b9a71640eb Implement basic timeouts for msg pipes. 2013-08-18 18:38:08 -07:00
Unknown W. Brackets 88b333bd16 Don't even try to allocate a 0 sized buffer. 2013-08-18 18:38:07 -07:00
Unknown W. Brackets fa73875c98 Clean up cancel and delete for msgpipes. 2013-08-18 18:38:07 -07:00
Unknown W. Brackets 23a48ba799 Return better results from msgpipe waits.
Not fully tested, but it's clearer to specify.  Delete and cancel are sure
to have been wrong.
2013-08-18 18:38:06 -07:00
Unknown W. Brackets 6577a7f920 Cleanup some minor usage in msgpipes. 2013-08-18 18:38:06 -07:00
Unknown W. Brackets 666cee4f6a Fix sceKernelCreateMsgPipe() and alloc psp memory.
Might not matter, but I'm not sure yet if it's expoesd somewhere.
2013-08-18 18:38:05 -07:00
Unknown W. Brackets 81f7103e0b Use *_le for the sceKernel* funcs. 2013-07-25 08:04:34 -07:00
Unknown W. Brackets 933c8abb55 Check kernel object types when looking up ids.
Some games misuse it, need to return an error.
2013-06-18 23:54:29 -07:00
Unknown W. Brackets 25f1001db3 Priority-based msgpipes never woke anyone.
Really need to write tests for this and get into it, I guess...

Fixes Final Fantasy Tactics.
2013-03-31 16:58:15 -07:00
Unknown W. Brackets 2a6457b6ab Cut down on h files including PointerWrap.
This makes changes to it a bit faster to build.
2013-02-04 08:26:59 -08:00
Unknown W. Brackets 1cb7a88137 Don't use a dynamic string for wait debugging.
Happens in release, and shows up on the profiler.
Not huge, but should save ~0.5% of cpu time.
2013-01-26 11:29:19 -08:00
Unknown W. Brackets 140fd171ef Fix some 64-bit type conversion warnings. 2013-01-19 13:48:20 -08:00
Henrik Rydgård 95c4e0b9c4 Quick build fix for gcc 2012-12-28 23:33:00 +01:00
Unknown W. Brackets bcecd881b1 Savestate cleanup + be more careful with vectors.
For some reason I debugged it going into std::string so I just made
them all more explicit which fixed everything.
2012-12-28 13:55:31 -08:00
Unknown W. Brackets 644e6b615c Fix memory leak in msgpipe when loading state. 2012-12-28 13:55:31 -08:00
Unknown W. Brackets 19aaca2705 Start save stating audio, plus minor fixes. 2012-12-28 13:55:29 -08:00