| |||
Problema al crear una FIFO Hola, hice un programa que toma la entrada de audio y la guarda en una fifo, utlice obviamente la funcion mkfifo, y luego hcie otro para leerla y reproducir lo leido. Funciona todo perfectamente, el problema l otengo cuando ejecuto nuevamente el programa (sin borrar la fifo que se creo anteriormente) y no me la pisa la anterior con la nueva y me tira error. Utilizando printf("error: %s", strerror(EL DATO DE LA FIFO)), lo unico que me idce es "Error desconocido -1". y termina ahi. Alguien sabe que esta pasando? quiero evitar utilizar la funcion system, que segun se puedo pasarle la instruccion para borrar la fifo cuando ya termino el programa, porque no es lo ideal. Gracias! |
| |||
Respuesta: Problema al crear una FIFO Hola! cuando decis "termina ahi" te referis a que el programa se cierra solo?? si es asi q raro, a menos que uses una funcion como exit no deberia cerrarse... Para evitar ese error si o si vas a tener que borrar el archivo fifo si existe previamente(o al menos eso recuerdo). Si no queres usar system tenes la funcion unlink() aunque estoy seguro que tampoco vas a querer usarlo ya que seria lo mismo; deberia haber un flag para que al crear el fifo omitiera si esté ya existe Otra cosa, me parece que estas usando mal el strerror ya que no deberia imprimir "error desconocido -1" sino deberia decir "file exists". Para que esto suceda debes usar la variable errno y no el retorno de mkfifo
Código C:
Ver original Saludos |
| |||
Respuesta: Problema al crear una FIFO Claro, olvide aclarar que el programa sae cierra porque puse un exit() jaja, ahi esta, claro, me dice que la conexion ya existe el archivo con errno, por lo que la conexion ya esta hecha y no es necesario volver a crearla, entonces simplemente agregue un if para saber si errno es distinto a la constante de EEXIST (archivo existente) nmo cierro el programa, por cualquier otro error lo imprimo y lo termino. GRACIAS! |
Etiquetas: Ninguno |