« Stay hungry, stay foolish! | Usare SSH da Mac Osx verso Linux » |
La timer_connect è una primitiva di VxWorks (tradotto, una API di sitema operativo) non POSIX. Mi ci sono inbattuto nell’ambito del mio lavoro di tesi in cui stiamo portando codice da VxWorks a Linux.
Questa simpatica funzione consente di assegnare a un timer una funzione che lo gestisca. Teoricamte la stessa cosa si può fare in linux definendo una struttra da dare in pasto alla timer_create, in realtà la cosa crea un overhead di complessità tale (soprattitto nel caso si vogliano passare paramentri e gestione di timer multipli) da renderla di fatto impossibile.
Bene tutto il discorso sopra per richiamare tutti gli informatici che leggono ad attenersi agli standard. Infatti in questo caso lo standard esiste ed è il POSIX ma nessuno dei due sistemi lo rispetta:
* VxWorks infatti implementa correttamente lo standard ma poi ci affianca delle funzioni proprietarie che si sovrappongono allo standard stesso e che, se utilizzate, rendono il codice non più compatibili con lo standard.
* Linux non implementa completamente lo standard posix offrendo un implementazione che limita il concetto di timer e che ne riduce il campo di utilizzo.
Tutto questo nel caso di porting crea dei grossi problemi.Ma non è l’unico danno che può portare.
Se uno standard esiste ed un sistema si dichiara aderente a tale standard è il caso che poi lo rispetti, è un fatto di civiltà, INSOMMA!