[TVB-206] Capture Plugin: Rückgabe-Dialog *nie* anzeigen

Ideen, wie TV-Browser verbessert werden kann
tsattler_

Beitrag von tsattler_ »

zum Beispiel 29999
Habe eben mal getestet. Scheinbar werden nur Rückgabewerte zwischen 0 und 255 unterstützt. Werte außerhalb dieses Bereichs werden auf diesen zurückgeführt:

4 -> 4
-4 -> 252
29999 -> 47

(getestet mit GNU bash, version 3.2.17)
ds10
Site Admin
Beiträge: 18288
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

Java unterstützt größere Werte, denn der Rückgabewert ist int, sieht so aus, als ob Bash nur byte kann.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
tsattler_

Beitrag von tsattler_ »

Laut Wikipedia hängt das nicht an Java oder der bash, sondern an der Prozessverwaltung des Betriebssystem. Und Unix (POSIX?) kennt wohl nur 0-255. Selbst wenn Java int als Rückgabewert verwendet, so wird es vom Betriebssystem modulo 256 genommen bevor der Wert an den Vaterprozess weitergereicht wird.

Quelle: englische Wikipedia, Stichwort: Exit_status
ds10
Site Admin
Beiträge: 18288
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

Das widerspricht aber der Aussage von hubendubel wonach unter UNIX auch negative Werte auftreten können. Mal angenommen hat nur byte würde das bedeuten, dass man von -128 bis +127 zur Verfügung hat. Ist natürlich immer ein Interpretationsproblem, da die negativen Zahlen ja einfach nur durch ein gesetztes Bit festgelegt werden.
Zuletzt geändert von ds10 am 18 Mär 2008, 00:53, insgesamt 1-mal geändert.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
tsattler_

Beitrag von tsattler_ »

Folgender Satz steht in dem Artikel der englischen Wikipedia unter Unix:
As such, on Unix exit statuses are restricted to values 0-255, the range of an unsigned 8-bit integer.
Wie Du schon sagtest, ist das Interpretationssache. Aber nicht wir können das interpretieren, das tut das OS. Wenn ein Programm erlaubterweise -1 zurück gibt kommt beim Vater dennoch 255 an. Wenn der Vater (=TVB) nun auf einen Wert außerhalb von 0-255 testet wird der Test aller Wahrschinlichkeit nach schiefgehen.
ds10
Site Admin
Beiträge: 18288
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

Ich hab's jetzt unter Linux getestet, negative Werte sind nicht möglich (werden zumindest von Bash nicht zurückgegeben).

Also würde ich vorschlagen 249 wird für keine Programmierung ohne Fehler verwendet, das sollte weit genug weg sein, von den üblichen verdächtigen Rückgabewerten und auf allen Betriebssystemen funktionieren.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
hubendubel
Gold Member
Beiträge: 331
Registriert: 14 Mai 2006, 18:31

Beitrag von hubendubel »

So, ich habe es nochmal getestet. Es werden Werte zwischen 0 und 255 Zurückgegeben. Wird der Prozess mit einem Signal abgebrochen, so wird 128+Signalnummer zurückgegeben. Wie tsattler_ bereits schrieb, wird modulo 256 gerechnet.
TVB 3.2, Java 1.6.0, Linux-Ubuntu 12.4
olnima
Junior Member
Beiträge: 36
Registriert: 06 Aug 2007, 10:49

Beitrag von olnima »

Möchte das Anliegen von tsattler_ unterstützen, egal welcher exit-code -
ein "keine Fehlermeldung - keine Aufnahme", quasi ein legales "cancel" wäre klasse.

Olnima
gamer11

Beitrag von gamer11 »

Vorsicht:
Rückgabewerte gehen typischerweise von 0 bis 255.
Ein Linux/bash Beispiel:

Code: Alles auswählen

# bash -c "exit -5"; echo $?
251

# bash -c "exit 257"; echo $?
1
Das war auch unter DOS so; ob es sich bei Windows geändert hat weiß ich nicht.


EDIT: Wer komplett liest ist im Vorteil -- hatte Seite 2 übersehen ...
Gast

Beitrag von Gast »

Letzte Frage, da die Änderung für Vers. 2.7 ja offenbar bereits vollzogen ist - bleibt es bei 249?

Gruß und danke
Olnima
ds10
Site Admin
Beiträge: 18288
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

Anonymous hat geschrieben:Letzte Frage, da die Änderung für Vers. 2.7 ja offenbar bereits vollzogen ist - bleibt es bei 249?
Ja, wenn niemand noch irgendwelche Bedenken anmeldet schon.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Gast

Beitrag von Gast »

Danke für die prompte Antwort :)

Olnima
Antworten