RE:Utilizar una unica conexion (a mysql) desde dos
Hola:
En una memoria compartida no puedes dejar en general un puntero. Un MYSQL *, al igual que cualquier otro puntero, no es más que una dirección de memoria donde hay unos datos.
Cuando el segundo proceso recoge esa dirección de memoria, recoge un valor entero que apunta a una zona de memoria del primer proceso y la interpreta como si fuera una dirección de memoria propia. No tiene acceso a los datos apuntados por ese puntero porque pertenecen al otro proceso, o bien está intentando acceder a su propia zona de memoria a un sitio donde hay cualquier cosa, de ahí el segmentation fault, core dumped.
Podrías intentar meter en memoria compartida una estructura MYSQL con todos sus datos, en vez de el puntero. Sin embargo, probablemente tampoco eso te funcionará. Es posible que la estructura MYSQL tenga a su vez punteros dentros y además, una conexión abierta (fichero, base de datos, socket o lo que sea) suele llevar asociadas más cosas de las que se encarga el sistema operativo, cosas que en el segundo proceso no estarían al no haber abierto él la conexión.
En fin, lo mejor es que en la memoria compartida dejes datos de la conexión como "servidor de bd", "base datos", "usuario", "password", etc (lo que es la cadena de conexión) y que el segundo proceso abra su propia conexión.
Se bueno.