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

Bug#229854: libapt overrides application signal handlers and doesn't restore them



Package: apt
Version: 0.5.21
Severity: normal

  Hi,

  It was recently pointed out to me that ^Cing aptitude will cause
problems with the display; the reporter suggested that I install a
signal handler to fix the problem.  This seemed a bit odd to me, since I
already have a number of signal handlers to catch terminating signals
and restore the terminal state.

  It turned out that dpkgpm.cc has several calls to signal().
Presumably this has to do with getting dpkg to run properly -- but the
signals are not restored to their previous values after dpkg finishes.

  Of course, there's an obvious workaround -- I'll just bracket the
dpkg calls with manual saves/restores of the signal handlers for now,
but this is IMO incorrect behavior on the part of libapt, and it will
likely bite someone else if it hasn't already.

  Daniel

-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux torrent.burrows.local 2.6.1 #2 Sun Jan 25 14:57:02 EST 2004 i686
Locale: LANG=en_US, LC_CTYPE=en_US (ignored: LC_ALL set to en_US)

Versions of packages apt depends on:
ii  libc6                      2.3.2.ds1-11  GNU C Library: Shared libraries an
ii  libgcc1                    1:3.3.3-0pre3 GCC support library
ii  libstdc++5                 1:3.3.3-0pre3 The GNU Standard C++ Library v3

-- no debconf information


-- 
/-------------------- Daniel Burrows <dburrows@debian.org> -------------------\
|       "For a successful technology, reality must take precedence over       |
|        public relations, for nature cannot be fooled."                      |
|         -- Richard Feynmann                                                 |
\---- News without the $$ -- National Public Radio -- http://www.npr.org ----/



Reply to: