Fixed endless loop in sighandler.

Henning Meier-Geinitz <henning@meier-geinitz.de>
DEVEL_2_0_BRANCH-1
Henning Geinitz 2001-12-30 21:16:38 +00:00
rodzic 996b4f8d69
commit ed63137a3e
1 zmienionych plików z 15 dodań i 3 usunięć

Wyświetl plik

@ -280,16 +280,28 @@ auth_callback (SANE_String_Const resource,
md5digest[10], md5digest[11],
md5digest[12], md5digest[13], md5digest[14], md5digest[15]);
}
}
static RETSIGTYPE
sighandler (int signum)
{
static SANE_Bool first_time = SANE_TRUE;
if (device)
{
fprintf (stderr, "%s: stopping scanner... (sig %d)\n", prog_name,
fprintf (stderr, "%s: received signal %d\n", prog_name,
signum);
sane_cancel (device);
if (first_time)
{
first_time = SANE_FALSE;
fprintf (stderr, "%s: trying to stop scanner\n", prog_name);
sane_cancel (device);
}
else
{
fprintf (stderr, "%s: aborting\n", prog_name);
_exit(0);
}
}
}