wip, copy server delete old name

This commit is contained in:
maliakal_d 2022-04-01 17:52:27 +02:00
parent 5913864cbb
commit 8b1851e652
3 changed files with 41 additions and 18 deletions

View File

@ -66,3 +66,5 @@ int moveBinaryFile(char *mess, char *dest, char *src, char *errorPrefix);
int createEmptyFile(char *mess, char *fname, char *errorPrefix); int createEmptyFile(char *mess, char *fname, char *errorPrefix);
int deleteFile(char *mess, char *fname, char *errorPrefix); int deleteFile(char *mess, char *fname, char *errorPrefix);
int deleteOldServers(char *mess, char *newServerName, char *errorPrefix);

View File

@ -670,3 +670,15 @@ int deleteFile(char *mess, char *fname, char *errorPrefix) {
} }
return OK; return OK;
} }
int deleteOldServers(char *mess, char *newServerName, char *errorPrefix) {
LOG(logINFOBLUE, ("newserver name:%s\n", newServerName));
// if it exists
if (access(newServerName, F_OK) == 0) {
LOG(logINFO,
("\tOld server does exist: %s (%s)\n", newServerName, errorPrefix));
}
exit(-1);
return OK;
}

View File

@ -4201,7 +4201,12 @@ int copy_detector_server(int file_des) {
int reboot_controller(int file_des) { int reboot_controller(int file_des) {
ret = OK; ret = OK;
memset(mess, 0, sizeof(mess)); memset(mess, 0, sizeof(mess));
#if defined(MYTHEN3D) || defined(GOTTHARD2D)
#ifdef EIGERD
functionNotImplemented();
#elif VIRTUAL
ret = GOODBYE;
#elif defined(MYTHEN3D) || defined(GOTTHARD2D)
if (getHardwareVersionNumber() == 0) { if (getHardwareVersionNumber() == 0) {
ret = FAIL; ret = FAIL;
strcpy(mess, "Old board version, reboot by yourself please!\n"); strcpy(mess, "Old board version, reboot by yourself please!\n");
@ -4209,20 +4214,11 @@ int reboot_controller(int file_des) {
Server_SendResult(file_des, INT32, NULL, 0); Server_SendResult(file_des, INT32, NULL, 0);
return GOODBYE; return GOODBYE;
} }
#ifdef VIRTUAL ret = REBOOT;
ret = GOODBYE;
#else #else
ret = REBOOT; ret = REBOOT;
#endif #endif
#elif EIGERD
functionNotImplemented();
#else
#ifdef VIRTUAL
ret = GOODBYE;
#else
ret = REBOOT;
#endif
#endif
Server_SendResult(file_des, INT32, NULL, 0); Server_SendResult(file_des, INT32, NULL, 0);
return ret; return ret;
} }
@ -9449,10 +9445,18 @@ int receive_program(int file_des, enum PROGRAM_INDEX index) {
if (receiveData(file_des, &forceDeleteNormalFile, if (receiveData(file_des, &forceDeleteNormalFile,
sizeof(forceDeleteNormalFile), INT32) < 0) sizeof(forceDeleteNormalFile), INT32) < 0)
return printSocketReadError(); return printSocketReadError();
LOG(logINFO, LOG(logINFO, ("\tForce Delete Normal File flag? %s\n",
("\tForce Delete Normal File flag? %s\n", (forceDeleteNormalFile ? "Y" : "N"))); (forceDeleteNormalFile ? "Y" : "N")));
#endif #endif
// ensure the name is not the same as the linked name
if (!strcmp(serverName, LINKED_SERVER_NAME)) {
ret = FAIL;
strcpy(mess, "Server name is the same as the symbolic link. Please "
"use a different server name\n");
LOG(logERROR, (mess));
}
// in same folder as current process (will also work for virtual then // in same folder as current process (will also work for virtual then
// with write permissions) // with write permissions)
{ {
@ -9477,7 +9481,8 @@ int receive_program(int file_des, enum PROGRAM_INDEX index) {
checksum, serverName); checksum, serverName);
#else #else
receive_program_via_blackfin(file_des, index, functionType, receive_program_via_blackfin(file_des, index, functionType,
filesize, checksum, serverName, forceDeleteNormalFile); filesize, checksum, serverName,
forceDeleteNormalFile);
#endif #endif
} }
@ -9493,7 +9498,8 @@ int receive_program(int file_des, enum PROGRAM_INDEX index) {
void receive_program_via_blackfin(int file_des, enum PROGRAM_INDEX index, void receive_program_via_blackfin(int file_des, enum PROGRAM_INDEX index,
char *functionType, uint64_t filesize, char *functionType, uint64_t filesize,
char *checksum, char *serverName, int forceDeleteNormalFile) { char *checksum, char *serverName,
int forceDeleteNormalFile) {
#if !defined(JUNGFRAUD) && !defined(CHIPTESTBOARDD) && !defined(MOENCHD) && \ #if !defined(JUNGFRAUD) && !defined(CHIPTESTBOARDD) && !defined(MOENCHD) && \
!defined(GOTTHARDD) !defined(GOTTHARDD)
@ -9595,8 +9601,11 @@ void receive_program_via_blackfin(int file_des, enum PROGRAM_INDEX index,
totalsize, forceDeleteNormalFile); totalsize, forceDeleteNormalFile);
break; break;
case PROGRAM_SERVER: case PROGRAM_SERVER:
ret = deleteOldServers(mess, serverName, "update detector server");
if (ret == OK) {
ret = moveBinaryFile(mess, serverName, TEMP_PROG_FILE_NAME, ret = moveBinaryFile(mess, serverName, TEMP_PROG_FILE_NAME,
"update detector server"); "update detector server");
}
if (ret == OK) { if (ret == OK) {
ret = setupDetectorServer(mess, serverName); ret = setupDetectorServer(mess, serverName);
} }