Je suivais un re-entrancy guide sur les pratiques recommandées lors de l'écriture du code re-entrant.Pratiques recommandées pour le code re-entrant en C, C++
Quelles autres références et ressources couvrent ce sujet?
Quels outils semblables à des peluches peuvent être utilisés pour vérifier ces problèmes?
ce guide a assez bien tout ce que vous devez savoir. Ce n'est pas une chose très subtile. N'utilisez pas de données que vous n'avez pas transmises dans l'appel de fonction, ne stockez aucun état dans la fonction. –
Ce guide comporte de nombreuses erreurs, d'une définition de réentrance qui est en fait multithreading (bien que les exemples de traitement du signal soient de vraie réentrance) à un mauvais conseil (mutexes ... bonjour deadlock) à tout simplement bugginess ('sigsuspend (& zeromask)'. Vous avez juste autorisé le traitement des interruptions que votre appelant a désactivé pour une raison, essayez 'sigsuspend (& oldmask)' à la place). –