A noté que le paramètre de taskDelay est de type int, ce qui signifie que le nombre pourrait être négatif. Je me demandais comment la fonction va réagir quand on passe un nombre négatif.Si vous passez un nombre négatif à la fonction taskDelay dans vxworks, que se passe-t-il?
Répondre
La plupart des fonctions permettraient de valider l'entrée, et de retourner simplement le début/retour 0/définir le paramètre en question à une valeur par défaut.
Je présume qu'il n'y a aucun besoin critique de faire cela en production, et vous avez probablement du code qui traîne que vous pourriez tester avec .... pourquoi ne pas essayer?
La documentation ne l'aborde pas, et les seuls codes d'erreur qu'ils définissent ne couvrent pas ce cas. La réponse la plus correcte est donc que les résultats ne sont pas définis.
Voir la VxWorks/Tornado II FAQ pour ce petit bijou, cependant:
taskDelay (-1) montre un autre bogue dans VxWorks minuterie/tick code. Il a l'effet (latéral) de la définition de vxTicks à zéro. Cela corrompt l'heure locale (et probablement d'autres choses). En fait taskDelay (x) aura le même effet si vxTicks + x> = 0x100000000. Si le taux d'horloge système est de 100Hz, ce se produit après environ 500 jours (car vxTicks s'enroule). À des taux d'horloge plus rapides cela arrivera plus tôt. Quelqu'un essayant depuis plusieurs années de disponibilité?
Oh il existe une limite supérieure non documentée sur la fréquence d'horloge. Au taux ci-dessus 4294 select() échouera à convertir son heure 'usec' dans le nombre correct de ticks. (De: David Laight, [email protected])
À supposer que ce bug est vieux, j'espère qu'il soit renvoyaient une erreur ou faire la même chose que taskDelay (0), qui met votre tâche à la fin de la file d'attente prête.
- 1. Qu'arrive-t-il à la tranche de temps si vous désactivez la préemption dans vxWorks?
- 2. comment passez-vous à travers un tableau dans fortran?
- 3. Comment passez-vous un Container.DataItem en tant que paramètre?
- 4. Si vous cliquez sur la case à cocher, la fonction onCheckedChanged se déclenche deux fois
- 5. Comment détecter un nombre négatif dans Zend Framework Router Regex
- 6. Que se passe-t-il lorsque vous passez une chaîne vide à un appel .valueOf Java enum?
- 7. Comment passez-vous un message d'un programme à un autre?
- 8. Vérification du nombre positif ou négatif
- 9. Comment passez-vous les paramètres à la balise subselect d'Hibernate?
- 10. C#: Comment passez-vous un objet dans un paramètre de fonction?
- 11. Comment passez-vous un flottant à ProgressView d'une autre classe?
- 12. Comment passez-vous les arguments à define_method?
- 13. c Pourquoi cela imprime-t-il un nombre négatif?
- 14. Se débarrasser du décalage gcc par avertissement négatif
- 15. Comment passez-vous une référence lorsque vous utilisez un nom de type comme argument de fonction en C++?
- 16. Que définiriez-vous une fonction?
- 17. que se passerait-il si vous utilisiez belongs_to sans avoir un has_one correspondant?
- 18. Déterminer si un nombre se situe dans un ensemble spécifié de plages
- 19. Comment passez-vous une méthode avec des arguments à #to_xml?
- 20. Comment utilisez-vous les variables d'environnement dans vxWorks?
- 21. jQuery: Fondu dans une image lorsque vous passez la souris dessus
- 22. Comment passez-vous les arguments de script à pdb (Python)?
- 23. Que se passe-t-il si vous ne renvoyez pas de valeur en C++?
- 24. Comment puis-je déterminer si un nombre est dans un pourcentage d'un autre nombre?
- 25. Que se passe-t-il lorsque vous exécutez un programme?
- 26. Connectez-vous dans la fonction monorail C#
- 27. Comment passez-vous la classe en tant que paire valeur/clé de ASP.NET MVC htmlAttributes?
- 28. Nombre de clients pouvant se connecter à un canal nommé
- 29. Portage des problèmes à VxWorks
- 30. requête externe à la liste que si son nombre de lignes équivaut à sous-requête interne
Tornado 2 est .... Vieux. Très vieux. – mjs