2012-04-18 12 views
8

No pude encontrar ninguna mención de las características de seguridad del hilo de V4L2, a excepción de this e-mail from 2008. Habla sobre el gran bloqueo del kernel, que supongo que ya se ha ido, ¿no?¿Qué tan seguro para los hilos es V4L2?

¿Alguien tiene alguna información actualizada al respecto? ¿Puedo ioctl (estoy pensando especialmente en VIDIOC_DQBUF y VIDIOC_QBUF) el mismo descriptor de archivo V4L2 de varios hilos sin serialización? La discusión citada anteriormente parece indicar que la respuesta depende del conductor, pero pensé que podría preguntar de todos modos.

Respuesta

2

La especificación no menciona si el V4L2 es seguro para subprocesos. Sin embargo, parece que algunas implementaciones en realidad son seguras para hilos.

POSIX.1-2001 y POSIX.1-2008 requieren que todas las funciones especificadas en la norma sean seguras para hilos, excepto algunas funciones específicas. ioctl() no es uno de ellos, por lo que es seguro para subprocesos. Sin embargo, ioctl() es un punto de cancelación, por lo que el hilo se puede terminar una vez que llegue a ioctl().

Creo que la solución correcta es suponer que el V4L2 no es seguro para subprocesos y hacer el bloqueo en consecuencia.

+1

Gracias! Tener algunos puntos de recompensa. – gspr

Cuestiones relacionadas