Fri, 03 Aug 2012 20:11:53 +0200
Neutralize buggy code causing OpenPKG to have 'fatal problems' in
spite of correct installation, configuration, and operation. An
administrator suffering from this failure is even unable to
uninstall the flawed software.
1 Index: upnp/sample/tvctrlpt/linux/upnp_tv_ctrlpt_main.c
2 diff -Nau upnp/sample/tvctrlpt/linux/upnp_tv_ctrlpt_main.c.orig upnp/sample/tvctrlpt/linux/upnp_tv_ctrlpt_main.c
3 --- upnp/sample/tvctrlpt/linux/upnp_tv_ctrlpt_main.c.orig 2008-03-22 17:48:13.000000000 +0100
4 +++ upnp/sample/tvctrlpt/linux/upnp_tv_ctrlpt_main.c 2009-01-12 16:05:10.847325711 +0100
5 @@ -429,7 +429,11 @@
6 */
7 sigemptyset( &sigs_to_catch );
8 sigaddset( &sigs_to_catch, SIGINT );
9 +#if (defined(sun) && defined(__svr4__))
10 + sigwait( &sigs_to_catch );
11 +#else
12 sigwait( &sigs_to_catch, &sig );
13 +#endif
15 SampleUtil_Print( "Shutting down on signal %d...", sig );
16 #else
17 Index: upnp/sample/tvcombo/linux/upnp_tv_combo_main.c
18 diff -Nau upnp/sample/tvcombo/linux/upnp_tv_combo_main.c.orig upnp/sample/tvcombo/linux/upnp_tv_combo_main.c
19 --- upnp/sample/tvcombo/linux/upnp_tv_combo_main.c.orig 2009-01-12 16:12:00.406762331 +0100
20 +++ upnp/sample/tvcombo/linux/upnp_tv_combo_main.c 2009-01-12 16:14:23.401611284 +0100
21 @@ -477,7 +477,11 @@
22 */
23 sigemptyset( &sigs_to_catch );
24 sigaddset( &sigs_to_catch, SIGINT );
25 +#if (defined(sun) && defined(__svr4__))
26 + sigwait( &sigs_to_catch );
27 +#else
28 sigwait( &sigs_to_catch, &sig );
29 +#endif
31 SampleUtil_Print( "Shutting down on signal %d...\n", sig );
32 #else
33 Index: upnp/sample/tvdevice/linux/upnp_tv_device_main.c
34 diff -Nau upnp/sample/tvdevice/linux/upnp_tv_device_main.c.orig upnp/sample/tvdevice/linux/upnp_tv_device_main.c
35 --- upnp/sample/tvdevice/linux/upnp_tv_device_main.c.orig 2008-03-22 18:04:30.000000000 +0100
36 +++ upnp/sample/tvdevice/linux/upnp_tv_device_main.c 2009-01-12 16:19:03.504059810 +0100
37 @@ -184,7 +184,11 @@
38 */
39 sigemptyset( &sigs_to_catch );
40 sigaddset( &sigs_to_catch, SIGINT );
41 +#if (defined(sun) && defined(__svr4__))
42 + sigwait( &sigs_to_catch );
43 +#else
44 sigwait( &sigs_to_catch, &sig );
45 +#endif
47 SampleUtil_Print( "Shutting down on signal %d...\n", sig );
48 #else