|
From: Peter K. <pk...@us...> - 2001-05-31 12:38:54
|
The following file was modified in apps/bluetooth/experimental:
Name Old version New version Comment
---- ----------- ----------- -------
btinit.c 1.8 1.9=20=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Use sigsetjmp()/siglongjmp() instead of setjmp()/longjmp() as
we need to call siglongjmp() from a signal handler.
The diff of the modified file(s):
--- btinit.c 2001/05/17 10:36:36 1.8
+++ btinit.c 2001/05/31 12:38:54 1.9
@@ -109,7 +109,7 @@
static int init_hw_speed =3D 0; /* not set */
static int do_hwinit =3D 1; /* do vendor specific initialization */
static int do_reset =3D 0; /* reset hw using I/O pins */
-static jmp_buf jmpbuffer; /* used to jump back in program after doing rese=
t */
+static sigjmp_buf jmpbuffer; /* used to jump back in program after doing r=
eset */
static int sdpsrv_pid =3D 0;
int phys_fd =3D -1; /* physical device e.g ttyS0 */
=20
@@ -188,7 +188,7 @@
}
=20
/* Set restart point */
- if (setjmp(jmpbuffer) !=3D 0)
+ if (sigsetjmp(jmpbuffer, 1) !=3D 0)
{
syslog(LOG_INFO, "restart...\n\n\n\n");
}
@@ -258,7 +258,7 @@
=20=20=20=20=20
btd_cleanup();
=20=20
- longjmp(jmpbuffer, 1);
+ siglongjmp(jmpbuffer, 1);
}
if (sig =3D=3D SIGTERM)
{
|