speedtch usbatm.h,1.4,1.5 usbatm2.c,1.13,1.14

Roman Kagan rkagan at mail.ru
Fri Jan 28 07:28:42 EST 2005


On Fri, Jan 28, 2005 at 12:11:08PM +0000, Duncan Sands wrote:
> @@ -1021,24 +1001,35 @@
>  	daemonize("%s/%s", usbatm_driver_name, instance->driver->driver_name);
>  	allow_signal(SIGTERM);
>  
> +	complete(&instance->thread_started);
> +
>  	ret = instance->driver->heavy_init(instance, instance->usb_intf);
>  
>  	if (!ret)
>  		ret = usbatm_atm_init(instance);
>  
> -	complete_and_exit(&instance->thread_exited, ret);
> +	down(&instance->serialize);
> +	instance->thread_pid = -1;
> +	complete(&instance->thread_exited);
> +	up(&instance->serialize);
> +
> +	return ret;
>  }

Don't you need to install a SIGTERM handler?  It looks you can never
reach here without it, and then the ->thread_exited completion will
never be signalled.

Roman.



More information about the Usbatm mailing list