Closed GoogleCodeExporter closed 8 years ago
Not doom only, DosBox too.
Original comment by battatona@gmail.com
on 5 Jul 2010 at 5:56
Original comment by ametric@gmail.com
on 5 Jul 2010 at 6:51
Original comment by ametric@gmail.com
on 5 Jul 2010 at 6:52
Doom doesn't shut down the net libraries. At the time when the utility modules
are unloaded by HBL, there are still three networking threads running:
UID: 0x0492C64F - Name: SceNetCallout
UID: 0x0492405D - Name: SceNetNetintr
UID: 0x0435D871 - Name: SceNetApctl
I can provoke the same error in PSPdisp when initializing the network
libraries, then exiting without uninitializing them.
DOOM 1.4 is open source and a quick browse through it shows no sign of
pspSdkInetTerm() or sceNetTerm() or similar, too.
Original comment by jochen.s...@gmail.com
on 7 Jul 2010 at 10:05
We force shut down threads when exiting a game, how comes these ones refuse to
exit?
Original comment by wagic.the.homebrew@gmail.com
on 7 Jul 2010 at 11:17
Aren't only threads created by the homebrew deleted? These threads are created
by the net modules themselves, of which some run in kernel mode
(sceNet_Service). Those are not known to hbl I guess.
Original comment by jochen.s...@gmail.com
on 7 Jul 2010 at 11:28
Yes, that's it JJS.
Original comment by ametric@gmail.com
on 7 Jul 2010 at 12:11
dosbox has never closed right with hbl idk why u have to just keep holding the
power button until the light stops flashing
Original comment by cscash241
on 7 Jul 2010 at 2:00
ok, so we have to hook the functions creating those threads, in order to track
them...
Original comment by queffe...@gmail.com
on 9 Jul 2010 at 2:01
(sorry that was me above)
Original comment by wagic.the.homebrew@gmail.com
on 9 Jul 2010 at 2:02
I started working on this and pretty much have a solution. I'll be doing some
tests on the PSPGo and submit in a few days.
Original comment by wagic.the.homebrew@gmail.com
on 11 Jul 2010 at 8:24
Hmm, not working as smooth as I want, I need to think a bit more
Original comment by wagic.the.homebrew@gmail.com
on 11 Jul 2010 at 12:37
Ok, fixed. I'll test other games to make sure I didn't break anything major,
and I'll submit in the days to come
Original comment by wagic.the.homebrew@gmail.com
on 11 Jul 2010 at 1:03
I haven't looked into this enough to tell if there needs to be a distinction,
but does the fix work for both infrastructure and adhoc?
Original comment by jochen.s...@gmail.com
on 11 Jul 2010 at 5:06
I'm basically calling the following functions when closing a homebrew:
sceNetApctlTerm();
sceNetResolverTerm();
sceNetInetTerm();
sceNetTerm();
I believe this would work in all cases.
Each function is called only if the appropriate library is loaded
Original comment by wagic.the.homebrew@gmail.com
on 11 Jul 2010 at 9:07
Not sure, for adhoc mode these (and there respective ...Term() functions) are
not called:
sceNetApctlInit()
sceNetResolverInit()
sceNetInetInit()
but:
sceNetAdhocInit();
sceNetAdhocctlInit();
I am not too familiar with adhoc mode, but this is what I recall and gather
based on this adhoc sample: http://forums.ps2dev.org/viewtopic.php?p=88548.
Original comment by jochen.s...@gmail.com
on 11 Jul 2010 at 9:47
Fixed in R94, let's add the adhoc ones if we find a game that uses them and has
such an issue
Original comment by wagic.the.homebrew@gmail.com
on 13 Jul 2010 at 11:07
Original issue reported on code.google.com by
wagic.the.homebrew@gmail.com
on 5 Jul 2010 at 3:04