Autor Thema: Pthreads...  (Gelesen 3584 mal)

Offline sgt_barnes

  • Mood Master
  • ****
  • Beiträge: 250
  • Der frühe Vogel fängt den Wurm, aber die zweite Maus kriegt den Käse!
    • Profil anzeigen
Pthreads...
« am: 09. März 2004, 12:35:31 »
Guten Morgen, mood-indigo-Fangemeinde!

Heute ist Denksport-Tag:

Stellt Euch ein Spiel mit einer Quake-ähnlichen Console vor. Auf der kann man alles mögliche einstellen und z.B. Level laden.

Die Console spaltet beim öffnen einen Thread (pthread) ab, der sich auf stdin hängt und auf Benutzereingaben wartet. Sobald eine kommt, wird die geparsed und in die Ereignisschleife des Haupt-Threads gepostet.

Jetzt das Problem: Wenn jemand das Fenster schliesst, versucht der Haupt-Thread, die Console zu schliessen. Der Consolen-thread steckt aber gerade mitten in fgets() und ein fclose() auf stdin wartet, bis er da wieder rauskommt.

Unter Win32 verwende ich CloseHandle(), dass dem auf Eingaben wartenden Consolen-Thread dann ein EOF zu lesen gibt, mit dem der zufrieden ist. Leider fehlt mir unter IRIX die Erfahrung für einen ähnlichen Trick...  :(

Irgendwelche Ideen?

Danke,
Tilmann

mood-indigo.org - Das unabhängige Silicon Graphics User Forum

Pthreads...
« am: 09. März 2004, 12:35:31 »

majix

  • Gast
Re: Pthreads...
« Antwort #1 am: 09. März 2004, 13:22:16 »
pthread_cancel ?

Grüße,
Kaya

Offline sgt_barnes

  • Mood Master
  • ****
  • Beiträge: 250
  • Der frühe Vogel fängt den Wurm, aber die zweite Maus kriegt den Käse!
    • Profil anzeigen
Re: Pthreads...
« Antwort #2 am: 09. März 2004, 13:28:35 »
Zitat
pthread_cancel ?


Ne, das ändert nix daran, zumindest wenn ich alles richtig gemacht habe.