From 6ee505f3dc8919bc99ef4454641c7cc85f5ac1a2 Mon Sep 17 00:00:00 2001 From: ramon Date: Mon, 3 Jul 2017 18:34:47 +0000 Subject: [PATCH] =?UTF-8?q?#730=20#738:=20Si=20se=20reinicia=20el=20servic?= =?UTF-8?q?io=20ogAdmServer,=20se=20reutiliza=20el=20pureto=20en=20Linux?= =?UTF-8?q?=203.9+;=20se=20actualiza=20la=20configuraci=C3=B3n=20del=20cli?= =?UTF-8?q?ente=20tras=20el=20comando=20Restaurar=20Imagen=20(falta=20apli?= =?UTF-8?q?car=20cambios=20en=20imagen=20b=C3=A1sica).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://opengnsys.es/svn/branches/version1.1@5398 a21b9725-9963-47de-94b9-378ad31fedc9 --- sources/ogAdmServer.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sources/ogAdmServer.cpp b/sources/ogAdmServer.cpp index 9be1c8c..6b6b7d7 100644 --- a/sources/ogAdmServer.cpp +++ b/sources/ogAdmServer.cpp @@ -2387,7 +2387,7 @@ BOOLEAN RESPUESTA_RestaurarImagen(SOCKET *socket_c, TRAMA* ptrTrama) Database db; Table tbl; BOOLEAN res; - char *iph, *ido, *idi, *dsk, *par, *ifs; + char *iph, *ido, *idi, *dsk, *par, *ifs, *cfg; char modulo[] = "RESPUESTA_RestaurarImagen()"; if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion @@ -2412,11 +2412,15 @@ BOOLEAN RESPUESTA_RestaurarImagen(SOCKET *socket_c, TRAMA* ptrTrama) dsk = copiaParametro("dsk",ptrTrama); // Número de disco par = copiaParametro("par",ptrTrama); // Número de partición ifs = copiaParametro("ifs",ptrTrama); // Identificador del perfil software contenido - + cfg = copiaParametro("cfg",ptrTrama); // Configuración de discos + if(cfg){ + actualizaConfiguracion(db, tbl, cfg, atoi(ido)); // Actualiza la configuración del ordenador + liberaMemoria(cfg); + } res=actualizaRestauracionImagen(db, tbl, idi, dsk, par, ido, ifs); liberaMemoria(iph); - liberaMemoria(ido); + liberaMemoria(ido); liberaMemoria(idi); liberaMemoria(par); liberaMemoria(ifs); @@ -2643,7 +2647,6 @@ BOOLEAN RESPUESTA_EjecutarScript(SOCKET *socket_c, TRAMA* ptrTrama) } cfg = copiaParametro("cfg",ptrTrama); // Toma configuración de particiones - if(cfg){ actualizaConfiguracion(db, tbl, cfg, atoi(ido)); // Actualiza la configuración del ordenador liberaMemoria(cfg); @@ -3578,6 +3581,7 @@ int main(int argc, char *argv[]) { socklen_t iAddrSize; struct sockaddr_in local, cliente; char modulo[] = "main()"; + int activo=1; /*-------------------------------------------------------------------------------------------------------- Validación de parámetros de ejecución y lectura del fichero de configuración del servicio @@ -3715,6 +3719,7 @@ int main(int argc, char *argv[]) { Creación y configuración del socket del servicio ---------------------------------------------------------------------------------------------------------*/ socket_s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // Crea socket del servicio + setsockopt(socket_s, SOL_SOCKET, SO_REUSEPORT, &activo, sizeof(int)); if (socket_s == SOCKET_ERROR) { // Error al crear el socket del servicio errorLog(modulo, 13, TRUE); exit(EXIT_FAILURE);