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

Bug#72382: APT does not unblock SIGWINCH sometimes



Package: apt
Version: 0.3.19

On Sun, 24 Sep 2000, Joey Hess wrote:

> I used debconf's text frontend, which has a SIGWINCH handler that I modified to also 
> output "screen resize via SIGWINCH" to stderr, so it should be pretty damn obvious if 
> that handler fires, which it didn't.

Hm, interesting mis reading of documents, what will happen is that
every other time around the screen update winch will get unblocked.
So you'll find that sometimes it is blocked sometimes it isn't. Apply this
patch:

--- acqprogress.cc.back Sun Sep 24 23:26:58 2000
+++ acqprogress.cc      Sun Sep 24 23:27:26 2000
@@ -240,7 +240,7 @@
    }
    Buffer[ScreenWidth] = 0;
    BlankLine[ScreenWidth] = 0;
-   sigprocmask(SIG_UNBLOCK,&OldSigs,0);
+   sigprocmask(SIG_SETMASK,&OldSigs,0);
 
    // Draw the current status
    if (strlen(Buffer) == strlen(BlankLine))

To work around this from debconf you should execute:
   sigset_t Sigs;
   sigemptyset(&Sigs);
   sigprocmask(SIG_SETMASK,&Sigs,0);

At the top of your perl.

Since cvs is down I need a bug report here to remind me..

Jason




Reply to: