bug-gnu-emacs
[Top][All Lists]
Advanced

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

Re: C-g does not interrupt lisp code (emacs 21)


From: Gerd Moellmann
Subject: Re: C-g does not interrupt lisp code (emacs 21)
Date: 25 Oct 2001 15:53:12 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1.50

Philippe Waroquiers <address@hidden> writes:

> poll_for_input is not called. After searching more in details, the problem
> is in atimer.c. A call to UNBLOCK_ATIMERS gives (after pre-processing)
> an empty line. 
> adding 
> hey sigunblock (8192);
> hey BLOCK_ATIMERS;
> hey UNBLOCK_ATIMERS;
> 
> gives:
> 
> hey  ;
> hey sigblock ((1L << (14-1))) ;
> hey  ;
> 
> (after pre-processing -P atimer.c).
> C-g works with the following piece of code:
>   /* Insert the timer in the list of active atimers.  */
>   schedule_atimer (t);
>   printf ("bef unblock_atimers %d\n ", sigblock (0));
>   UNBLOCK_ATIMERS;
>   printf ("after unblock_atimers %d\n ", sigblock (0));
>   sigsetmask (sigblock (0) & ~ 8192);
>   printf ("after local unblock %d\n ", sigblock (0));
> 
> It is not clear to me how to see in syssignal.h this sigunblock definition 
> should
> come from.
> If I can do something more, do not hesitate ....

Thanks for tracking this down, Philippe!  That explains it nicely,
but I'm stumped.

It seems that syssignal.h contains

  #ifdef USG

  #define sigunblock(sig) 

  #else

which doesn't make the slightest sense to me.  It's that way for quite
some time it seems, at least since 1996.

Richard, do you remember what that empty definition of sigunblock
means?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]