time.sleep Absturz

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lupurus
User
Beiträge: 5
Registriert: Montag 1. Juni 2009, 18:47

Hallo,

wenn ich versuche, mein Programm mit time.sleep(1) für eine Sekunde anzuhalten, stürzt mein Programm mit dem Fehler

"Program has been terminated receiving signal 11 (Segmentation fault)"

ab. Hab verschiedene Werte durchprobiert, stürzt jedes mal ab. Könnte sein, dass das Ganze mit dem GStreamer zusammenhängt. Ich versuche ein paar Werte auszulesen und da das leider etwas dauert, kann ich nicht sofort auf die Werte zugreifen. Deswegen das time.sleep. Gibt es da vielleicht eine schönere Lösung, darauf zu warten, bis eine Variable einen Wert hat, ohne das ganze Programm anhalten zu müssen?

Schöne Grüße,
Lupurus
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

time.sleep sollte trotzdem keinen segfault auslösen. Liegts vielleicht daran, dass die Variable danach immer noch keinen Wert hat?

Wieso fragst du nicht in einer Schleife direkt ab ob die Variable einen (oder den gewünschten Wert) hat? Das Programm wär für die Zeit aber trotzdem in der Schleife gefangen.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Für sowas wurden ja eigentlich Callbacks geschaffen. Es müsste ein Signal gesendet werden, sobald der Wert verfügbar / der Arbeitschritt beendet ist. Wie man so etwas selbst implementieren kann, weiß ich aber leider nicht. Vielleicht kriegst du ja etwas mit Hilfe von GObject hin. GStreamer verwendet das ja auch. Da müsste man jetzt etwas mehr über dein eigentliches Vorhaben wissen...
Antworten