Event Handler bei timer_create

Gast #5104201
Guten Morgen,
ich habe eine Verständnisfrage zum Thema POSIX timer_create.

In dem Buch The Linux Programming INterface steht folgendes:
1
int timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid);

"The timerid argument points to a buffer that returns a handle used to 
refer to the timer in later system calls. This buffer is typed as 
timer_t, which is a data type specified by SUSv3 for representing a 
timer identifier."

Soweit ich weiß, ist ein Event ein Ereignis, wenn z.B. die Zeit 
runterzählt und bei Null ankommt und ein Handler z.B. eine 
CallbackFunktion, die darauf reagiert und damit etwas tut. Aber wenn ich 
das richtig in der Doku 
(http://man7.org/linux/man-pages/man2/timer_create.2.html) verstehe, ist 
es einfach ein Zeiger auf ein Objekt, dass eine feste ID zugewiesen 
bekommt, um es verwenden zu können.

Also ist die Bezeichnung "Handler" im Buch eigentlich falsch, da die ID 
ja keine Fehlerbehandlungsroutine (Handler) ist, sondern nur eine ID.

Kann mir da jemand helfen?

Meine zweite Frage bezieht sich auf das Thema "handler" allgemein. Was 
ist der Unterschied zwischen Handler und Event Handler? Oder ist damit 
das gleiche gemeint? Und was bedeutet, wenn eine Funktion einen Handler 
liefert? Was ist das Objekt eigentlich?
Paul schrieb:

> Also ist die Bezeichnung "Handler" im Buch eigentlich falsch, da die ID
> ja keine Fehlerbehandlungsroutine (Handler) ist, sondern nur eine ID.
>
> Kann mir da jemand helfen?

In deinem zitierten Text kommt nirgends das Wort "Handler" vor. Hast du 
dich vielleicht bei

> handle

verlesen? Ein Handle ist was ganz anderes als ein Handler.
> Handle != handler

Richtig, aber ich möchte hier für den Laien dann doch mal das Handle 
erklären.

Handle steht im Englischen für Griff.

In Falles deines Timers ist das ein Griff für den Timer.
Wenn du den Timer anlegst bekommst du ein Handle. Möchtest du etwas an 
dem Timer ändern oder diesen zerstören musst du in der Regel das Handle 
mitgeben. Mit dem Handle weiß dein Betriebssystem welchen Timer du 
meinst.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.