? ../ircu2.10.06/patch.db36 ? ../ircu2.10.06/patch.db37 ? ../ircu2.10.06/patch.db38 Index: ../ircu2.10.06/todo.jcea =================================================================== RCS file: /cvsroot/ircd/todo.jcea,v retrieving revision 1.16 retrieving revision 1.17 diff -c -r1.16 -r1.17 *** ../ircu2.10.06/todo.jcea 1999/10/18 16:45:13 1.16 --- ../ircu2.10.06/todo.jcea 1999/10/19 08:45:09 1.17 *************** *** 1,9 **** - 19/Oct/99 - DjAcE - glog - - Si un servidor no tiene acceso a las BDD en disco, - un REHASH lo mata. - 15/Oct/99 Poner los HASHES con mmap(), para no tener que hacer tantas operaciones cuando se reciben --- 1,3 ---- *************** *** 18,27 **** cambia muchas veces la clave de nick entre dos claves distintas. Los registros con la clave actual seran mantenidos siempre. - - 11/Oct/99 - Poner comprobaciones en las lecturas de disco, - y actuar convenientemente ante errores. 11/Oct/99 Tenemos problemas si una BDD se borra si ese nodo --- 12,17 ---- Index: ../ircu2.10.06/ircd/s_debug.c =================================================================== RCS file: /cvsroot/ircd/ircd/s_debug.c,v retrieving revision 1.60 retrieving revision 1.61 diff -c -r1.60 -r1.61 *** ../ircu2.10.06/ircd/s_debug.c 1999/10/18 22:46:37 1.60 --- ../ircu2.10.06/ircd/s_debug.c 1999/10/19 08:45:09 1.61 *************** *** 191,197 **** '-', #endif #endif ! 'D','B','3','7', #ifdef DB_ESNET '+', #else --- 191,197 ---- '-', #endif #endif ! 'D','B','3','8', #ifdef DB_ESNET '+', #else Index: ../ircu2.10.06/ircd/s_serv.c =================================================================== RCS file: /cvsroot/ircd/ircd/s_serv.c,v retrieving revision 1.42 retrieving revision 1.43 diff -c -r1.42 -r1.43 *** ../ircu2.10.06/ircd/s_serv.c 1999/10/18 22:46:37 1.42 --- ../ircu2.10.06/ircd/s_serv.c 1999/10/19 08:45:09 1.43 *************** *** 1532,1540 **** } #ifdef USE_SYSLOG ! //openlog(myargv[0], LOG_PID | LOG_NDELAY, LOG_USER); syslog(LOG_CRIT, buf); ! //closelog(); #endif Debug((DEBUG_ERROR, buf)); --- 1532,1540 ---- } #ifdef USE_SYSLOG ! /*openlog(myargv[0], LOG_PID | LOG_NDELAY, LOG_USER); */ syslog(LOG_CRIT, buf); ! /*closelog(); */ #endif Debug((DEBUG_ERROR, buf)); *************** *** 2017,2022 **** --- 2017,2024 ---- alarm(3); db_file = open(path, O_TRUNC, S_IRUSR | S_IWUSR); close(db_file); + if (db_file == -1) + db_die("Error al intentar truncar (open)", que_bdd); alarm(0); /* *************** *** 2251,2256 **** --- 2253,2260 ---- alarm(3); db_file = open(path, O_TRUNC, S_IRUSR | S_IWUSR); close(db_file); + if (db_file == -1) + db_die("Error al intentar truncar (open)", que_bdd); alarm(0); borrar_db(que_bdd); sprintf_irc(db_buf, "borrada (%s)", sptr->name); *************** *** 2376,2381 **** --- 2380,2387 ---- sprintf_irc(path, "%s/tabla.%c", DBPATH, que_bdd); alarm(3); db_file = open(path, O_WRONLY | O_APPEND | O_CREAT, S_IRUSR | S_IWUSR); + if (db_file == -1) + db_die("Error al intentar an~adir nuevo registro (open)", que_bdd); alarm(0); if (parc == 5) *************** *** 2390,2396 **** alarm(3); if (strcmp(parv[4], "*")) ! write(db_file, db_buf, strlen(db_buf)); /* CheckPoint */ close(db_file); alarm(0); --- 2396,2405 ---- alarm(3); if (strcmp(parv[4], "*")) ! { /* CheckPoint */ ! if (write(db_file, db_buf, strlen(db_buf)) == -1) ! db_die("Error al intentar an~adir nuevo registro (write)", que_bdd); ! } close(db_file); alarm(0);