Forum: PC-Programmierung Event Handler bei timer_create


von Paul (Gast)


Lesenswert?

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?

von Rolf M. (rmagnus)


Lesenswert?

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.

von Paul (Gast)


Lesenswert?

Paul schrieb:
> returns a handle

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Handle != handler

Ein Handle wird auch von fopen zurückgegeben.

von Rolf M. (rmagnus)


Lesenswert?

Lesen ist nicht so deine Stärke, oder?

Paul schrieb:
> a buffer that returns a handle

Paul schrieb:
> die Bezeichnung "Handler"

Rolf M. schrieb:
> Ein Handle ist was ganz anderes als ein Handler.

Paul schrieb:
> Paul schrieb:
>> returns a handle

von M.K. B. (mkbit)


Lesenswert?

> 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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.