2016-11-12 3 views
0

Zum Beispiel, wenn ich ein Ereignis, das von einer gegebenen Zeituhr kommt, so nahe wie möglich mit einem Timer-orientierten Signal-Handler synchronisiert halten muss, und dafür habe ich entschieden, die Entfernung zwischen Ereignis und Handler jedes Mal zu überprüfen ausgeführt ->
Konnte ich timer_settime() im Signalhandler verwenden, um den nächsten Timerablauf zu aktualisieren und damit meinen zeitgeberorientierten Signalhandler synchronisiert zu halten?Kann ich den Timer in einem Signal-Handler einstellen?

Antwort

0

Ok, nach einer anderen Forschung, die ich in this answer ein Link zu this part of POSIX specification (IEEE Std 1.003,1-2.008 oder POSIX.1-2008) gefunden.
Die Spezifikation gibt (in System Interfaces->Pointer to a function subsection) eine Liste von async-signal-sicheren Funktionen zur Verwendung in Signalhandlern, und timer_settime() ist Teil von ihnen.

So jetzt betrachte ich mein ganzes Problem (ein bisschen außerhalb des Umfangs dieser Seite) teilweise aufgelöst, weil ich weiß, dass ich timer_settime() im Signalhandler verwenden kann, aber ich weiß nicht, ob "Könnte ich benutze die Funktion und halte so meinen Timer-orientierten Signalhandler mit der 'anderen Quelle' synchronisiert? "< - Das ist, was ich jetzt arbeiten werde :-)
Ich schätze eine andere technische und detaillierte Antwort, obwohl meine Frage hat sich gelöst. Vielen Dank!

Verwandte Themen