Re: Re: Horrible response to keyboardInterrupt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

--- Seth Vidal <skvidal@xxxxxxxxxxxxxxxxx> 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
> Yum@xxxxxxxxxxxxxxxxxxxx
> https://lists.dulug.duke.edu/mailman/listinfo/yum
> 

_______________________________________________
Yum mailing list
Yum@xxxxxxxxxxxxxxxxxxxx
https://lists.dulug.duke.edu/mailman/listinfo/yum

[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux