Bug#405702: sdl-net1.2 bug #405702 fixed long ago

Ulrich Eckhardt doomster at knuut.de
Thu Dec 29 10:32:16 UTC 2011


On Thursday 29 December 2011 01:20:43 you wrote:
> Sorry for the big delay, there are new efforts to try to maintain SDL
> packages in better shape.
> 
> This bug seems to have been fixed long ago (Thu Apr 20 16:48:25 2006
> +0000, about 9 months before this Debian bug report was submitted), in
> this commit upstream:
> http://hg.libsdl.org/SDL_net/rev/8551dd6a2235

There is one thing that strikes me though, and that is that I only consider 
the fix above as a workaround, not as a fix. There are problems with it:
 1. the ignored signal is ignored process-wide
This means that other code which relies on the signal being raised will fail 
when libSDL switches the process to ignoring it.
 2. the signal is not ignored if a handler is in place
If other areas actually registered a handler, the signal will not be ignored, 
the code in SDL checks this. This could mean that SDL then again starts to 
fail (I don't think so though).
 3. the wrong handler is restored if the signal was ignored
If the calling code ignored the signal process-wide, SDL will not ignore it 
again, but when uninitialized it will again switch it to the default, while 
the remaining code might still rely on it being ignored.

What I don't get is why send() isn't simply called with MSG_NOSIGNAL as I 
suggested. I switched to dropping SDL_net and creating my own network wrapper 
doing just that and I never had problems again. I can't provide proper tests 
though, since I have abandoned that code altogether.


> Anyway, this bug report was fixed long ago althought it was never
> properly explained, documented or closed... so doing that right now :)

Thank you for this work, Manuel! This bug was nagging me everytime I looked at 
the list of bugs I filed, because I never understood how it could linger for 
so long without more people complaining. The fact that a functioning 
workaround is in place explains it. Note that I don't object to closing this 
bug, as obviously the fix is good enough, but I wanted to raise the concerns 
so they are at least documented.

Cheers! :)

Uli






More information about the Pkg-sdl-maintainers mailing list