This just looks totally wrong to me, for completetly discarding a
user-requested Ctrl-C.  I can't think of why we'd want do this here.
Actually, I digged the history, and found out that this has been here
since at least 
7b4ac7e1ed2c (gdb-2.4, the initial revision, 1988), at
a time were we had a top level setjmp/longjmp, long before that got
wrapped in throw_exception and friends, and this code was in an
explicit loop, with the quit_flag cleared on every iteration, before
executing a command...
gdb/ChangeLog:
2016-04-12  Pedro Alves  <palves@redhat.com>
	* event-top.c (command_handler): Don't call clear_quit_flag.
 
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * event-top.c (command_handler): Don't call clear_quit_flag.
+
 2016-04-12  Pedro Alves  <palves@redhat.com>
 
        * remote-sim.c (gdb_os_poll_quit): Don't call clear_quit_flag.
 
   struct cleanup *stat_chain;
   char *c;
 
-  clear_quit_flag ();
   if (instream == stdin)
     reinitialize_more_filter ();