diff --git a/src/eeprom_avr.cpp b/src/eeprom_avr.cpp index 0ff63c927..5fe0c4540 100644 --- a/src/eeprom_avr.cpp +++ b/src/eeprom_avr.cpp @@ -101,7 +101,6 @@ void eeWriteBlockCmp(const void *i_pointer_ram, uint16_t i_pointer_eeprom, size_ #ifdef SIMU sem_post(eeprom_write_sem); - printf("sem_post doit demarrer le thread EEPROM"); fflush(stdout); #elif defined (PCBARM) #elif defined (PCBV4) diff --git a/src/simpgmspace.cpp b/src/simpgmspace.cpp index fb59628dd..19f6ee7e1 100644 --- a/src/simpgmspace.cpp +++ b/src/simpgmspace.cpp @@ -32,6 +32,7 @@ */ #include "open9x.h" +#include #include #include @@ -105,9 +106,7 @@ void setSwitch(int8_t swtch) bool eeprom_thread_running = true; void *eeprom_write_function(void *) { - printf("on entre dans eeprom_write_function\n"); fflush(stdout); - while (!sem_wait(eeprom_write_sem) || errno==EINTR) { - printf("sortie sem_wait"); fflush(stdout); + while (!sem_wait(eeprom_write_sem)) { if (!eeprom_thread_running) return NULL; #if defined(PCBARM) @@ -122,9 +121,7 @@ void *eeprom_write_function(void *) if (fseek(fp, eeprom_pointer, SEEK_SET) == -1) perror("error in fseek"); } - printf("avant la boucle eeprom_buffer_size=%d\n", eeprom_buffer_size); fflush(stdout); while (--eeprom_buffer_size) { - printf("ecriture eeprom_buffer_size=%d\n", eeprom_buffer_size); fflush(stdout); assert(eeprom_buffer_size > 0); if (fp) { if (fwrite(eeprom_buffer_data, 1, 1, fp) != 1) @@ -134,7 +131,6 @@ void *eeprom_write_function(void *) #endif } else { - printf("avant memcpy eeprom_pointer=%d\n", eeprom_pointer); fflush(stdout); memcpy(&eeprom[eeprom_pointer], eeprom_buffer_data, 1); } eeprom_pointer++; @@ -144,13 +140,11 @@ void *eeprom_write_function(void *) fflush(fp); } } - printf("sortie boucle ecriture eeprom_buffer_size=%d\n", eeprom_buffer_size); fflush(stdout); #if defined(PCBARM) } Spi_complete = 1; #endif } - printf("sortie du thread EEPROM, pas bon avant la fin !!! errno=%d\n", errno); fflush(stdout); return 0; } @@ -224,8 +218,12 @@ void StartEepromThread(const char *filename) fp = fopen(eepromFile, "w+"); if (!fp) perror("error in fopen"); } - // sem_init(&eeprom_write_sem, 0, 0); +#ifdef __APPLE__ eeprom_write_sem = sem_open("eepromsemaphore", O_CREAT); +#else + eeprom_write_sem = (sem_t *)malloc(sizeof(sem_t)); + sem_init(eeprom_write_sem, 0, 0); +#endif eeprom_thread_running = true; assert(!pthread_create(&eeprom_thread_pid, NULL, &eeprom_write_function, NULL)); }