gnupg interferance?

Mark Hounschell markh at compro.net
Fri Jan 14 15:47:32 CET 2005


I have a very strange problem that appears to have something to do with
gnupg. First I'll tell you I know nothing about gnupg. I am running SuSE 
9.2 BTW. I don't clain to know much about how X and kde get started but 
if there is a .gnupg directory present in my home directory and I am 
logging it at the console via KDM, my kde session appears to start via 
the following command:

gpg-agent --daemon --no-detach --keep-display ssh-agent 
/etc/X11/xinit/xinitrc

If the .gnupg directory does not exsist my session starts with the 
following command:

ssh-agent /etc/X11/xinit/xinitrc

Whenn my session starts via the gpg-agent, no realtime signals can be 
received by any of my applications. If I move the .gnupg directory aside 
and re-login via KDM I can receive realtime signals from within my 
applications until such time as this .gnupg directory mysteriously 
reappears. Also if I login from run level 3 or just ssh into the box, my 
applications receive realtime signals OK.


The contents of that .gnupg directory are:

markh at harley:~> ls -Ral .gnupg/
.gnupg/:
total 24
drwx------   3 markh users 4096 2005-01-12 16:01 .
drwxr-xr-x  47 markh users 4096 2005-01-12 16:04 ..
-rw-------   1 markh users 8538 2005-01-12 10:11 gpg.conf
drwx------   2 markh users 4096 2005-01-12 15:59 private-keys-v1.d
-rw-------   1 markh users    0 2005-01-12 10:11 pubring.gpg

.gnupg/private-keys-v1.d:
total 8
drwx------  2 markh users 4096 2005-01-12 15:59 .
drwx------  3 markh users 4096 2005-01-12 16:01 ..

I have not modified anything in this directory.

I am very confused as to why anything concerning gnupg could affect the
recept of realtime signals within an application. A simple sample
application that fails to recieve a realtime signal is follows:

#include  <stdio.h>
#include  <stdlib.h>
#include  <signal.h>

long  i;                /* global variables              */
void  SIGhandler(int);             /* RT-SIGNAL handler               */

void  SIGhandler(int sig)
{
      i = 1;
}

int main(void)
{

      printf("About to send signal\n");

      signal(SIGRTMIN + 5, SIGhandler);  /* setup handler   */
      raise(SIGRTMIN + 5);               /* fire the signal */

      if (i == 1) {
          printf("We received out signal\n");
      } else {
          printf("We did not receive the signal Oops...\n");
      }
      exit(0);

}

I have duplicated this on multiple SuSE-9.2 machines. What causes this
directory to be re-created days after I move it aside? How could gnupg 
affect my environment such that applications I execute cannot receive 
realtime signals. The same program using SIGUSR1 or SIGUSR2 will 
function ok? It seems only realtime signals are affected?

markh at harley:~> rpm -qa | grep gpg
gpg2-1.9.10-3
gpg-1.2.5-3
gpgme-0.9.0-2
libgpg-error-0.7-6
libgpg-error-devel-0.7-6
gpg-pubkey-9c800aca-40d8063e
gpg-pubkey-3d25d3d9-36e12d04


Thanks and regards
confused Mark



More information about the Gnupg-users mailing list