Re: Re: Horrible response to keyboardInterrupt

CAI Qian <[email protected]>
Newsgroups gmane.linux.rpm.yum
Message-ID <[email protected]>
Hi,

--- Seth Vidal <[email protected]> wrote:

> On Thu, 2008-09-11 at 21:17 -0700, CAI Qian wrote:
> 
> > I think it is of yum users' interests when making language
> decision.
> 
> making a language decision? whatever.
> 
> > There is another example of bad usability for handling CTRL-C,
> > 
> > [root@localhost ~]# yum -d 10 update
> > Config time: 0.107
> > Yum Version: 3.2.19
> > COMMAND: yum -d 10 update 
> > Installroot: /
> > Reading Local RPMDB
> > rpmdb time: 0.001
> > Setting up Package Sacks
> > pkgsack time: 0.003
> > Setting up Update Process
> > Building updates object
> > ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^Cup:Obs Init time: 0.733
> > ^C^Cputting kpathsea in complex update
> > 
> > ...
> > 
> > You could see from the above, I have to hit CTRL-C more than 10
> times
> > in order to cancel the operation. Far more than tolerant for
> reasonable
> > user experience. Is it the same thing as the Python socket handling
> > bug?
> > 
> 
> Actually, you don't have to hit it that many times. You are hitting
> it
> that many times. What's happening at that particular point is that
> the
> rpmdb is being accessed. At which point rpm is holding the signal
> handler that would allow that interrupt to work.
> 

OK, but it makes some commands unable to be cancelled, like

  check-update

It accessed DB, and print out things even if users don't want it
afterwards.

In addition, if a user realized that he made a bad search (too many
results), like

  yum -d 10 search file

and would like to cancel it later just immediately after starting to
print out search results, he/she couldn't, and he/she had to wait a
long time after almost all results returned back.

Moreover, it is confusion and untidy to see those random backtraces
when a user just want to cancel an yum operation.

[root@localhost yum-3.2.19]# yum -d 10 search file
^CTraceback (most recent call last):
  File "/usr/bin/yum", line 4, in <module>
    import yum
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 30, in
<module>
    import logging
  File "/usr/lib64/python2.5/logging/__init__.py", line 29, in <module>
^C    import sys, os, types, time, string, cStringIO, traceback
[root@localhost yum-3.2.19]# yum -d 10 search file
^CTraceback (most recent call last):
  File "/usr/bin/yum", line 4, in <module>
    import yum
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 39, in
<module>
    from iniparse.compat import ParsingError, ConfigParser
  File "/usr/lib/python2.5/site-packages/iniparse/__init__.py", line 1,
in <module>
    from ini import INIConfig
  File "/usr/lib/python2.5/site-packages/iniparse/ini.py", line 38, in
<module>
    """
KeyboardInterrupt

Cai Qian

> -sv
> 
> 
> _______________________________________________
> Yum mailing list
> [email protected]
> https://lists.dulug.duke.edu/mailman/listinfo/yum
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.