🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
2 messages
2 total messages Started by Bart Vandewoestyne Mon, 28 Jul 2003 14:52
(GTK) thread probleempje
#4462
Author: Bart Vandewoestyne
Date: Mon, 28 Jul 2003 14:52
31 lines
2345 bytes
Yo,

Zit met volgende probleem:

In een GTK+ applicatie zit ik met een START en een STOP button.  Bij het
drukken op START cre�er ik in de callback een nieuwe thread die
normaalgezien oneindig doorloopt omdat het gaat over het downoaden van
een stream.  Nu wil ik echter dat de gebruiker via het drukken op STOP
die thread kan onderbreken zodat het downloaden stopt.

Bestaat er een manier om die thread stil te leggen (net zoals je hem bv.
zou stilleggen door Ctrl-C te drukken, maar dan misschien iets
'properder'...)?

Voor de mensen die een kijkje willen nemen in de code:

mc303.ulyssis.org/downloads/mms_gui.tar.gz

Grep naar 'go_clicked' om te zien waar ik het over heb.

Groeten,
Bart

PS: een patch zenden mag natuurlijk ook, 't is Open Source voor iets ;-)

-- 
Ing. Bart Vandewoestyne		      Bart.Vandewoestyne_at_pandora.be
Hugo Verrieststraat 48			       GSM: +32 (0)478 397 697
B-8550 Zwevegem			 http://users.pandora.be/vandewoestyne
----------------------------------------------------------------------
"Any fool can know, the point is to understand." - Albert Einstein
Re: (GTK) thread probleempje
#4471
Author: Pieter Laeremans
Date: Mon, 28 Jul 2003 22:57
41 lines
2709 bytes
Bart Vandewoestyne <Bart.VandewoestyneNOSPAM@pandora.be> writes:

> Yo,
> 
> Zit met volgende probleem:
> 
> In een GTK+ applicatie zit ik met een START en een STOP button.  Bij het
> drukken op START cre�er ik in de callback een nieuwe thread die
> normaalgezien oneindig doorloopt omdat het gaat over het downoaden van
> een stream.  Nu wil ik echter dat de gebruiker via het drukken op STOP
> die thread kan onderbreken zodat het downloaden stopt.
> 
> Bestaat er een manier om die thread stil te leggen (net zoals je hem bv.
> zou stilleggen door Ctrl-C te drukken, maar dan misschien iets
> 'properder'...)?
> 
> Voor de mensen die een kijkje willen nemen in de code:
> 
> mc303.ulyssis.org/downloads/mms_gui.tar.gz
>

'k heb niet naar de code gekeken maar ik denk dat je hier drie
mogelijkheden hebt :

1) id vanuw thread bijhouden en die "killen" (maar dat wil je niet
   helemaal precies),  als ge nadien uw files opruimt kan dat m.i.
   geen kwaad

2) een signaal smijten maar dan moet je ervoor zorgen dat dat signaal
   in alle andere threads geblokkeerd is zodat alleen die thread het
   kan ontvangen (threads en signalen zijn niet evident)

3) Als uw code er zich toe leent (maar 'k vind dit een beke crapy) op
   bepaalde wel gedef. punten controlleren of er een "vlag" gezet die
   aanduidt dat er gestopt moet worden en dan stoppen.  Als je die
   puntne waar je controleert goed kiest veronderstel ik dat je
   response time wel snel genoeg zal zijn.

groeten,

Pieter
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads