GNU GDB's gnu-nat.c doesn't support non-stop mode.

Also, from id:"", GNU GDB's Pedro Alves:

I also notice that when going through the shell in non-stop mode, it would be more correct to resume all threads --- we don't want non-stop and its scheduler-locking to apply to the shell. Basically, non-stop should be off if there are pending execs. This was an existing issue, and doesn't affect linux today, so I'll just ignore that for now, as it needs more tweaking to fix.