sectionsd: Handbremse los...

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

jo - ist aber nich sehr aufwendig seine cpp mit dem cvs stand zu mergen.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich hab mal Nirvanas sectionsd mit den cvs gedifft, und änderungen am diff gemacht, die Nirvana nicht drin hatte. es wird wohl denke ich nicht durchlaufen, aber man sieht so besser, was gemacht wurde. ist ne ganze menge ;)
sectionsd.diff
wenn Innu eine bessere lösung hat :) kannst ja das mit dem mergen mal beschreiben, das hilt dann garantiert mehreren weiter.
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

mit mergen meine ich schön zu fuß die dateien mit uedit vergleichen.

aber ich glaube dein diff funktionieren nicht. ich mag aber jetzt hier nicht noch ein diff fürs diff der diffs anhängen. das verwirrt am ende nur.

innu
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Jetzt muss hier einer irgendwie den Überblick behalten... :-?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

@all
Innuendo hat geschrieben:das verwirrt am ende nur.
Ich muss Innu da recht geben. Es wird langsam etwas unübersichtlich :-?
Was ist denn nun brauchbar, quasi eincheckfähig
Bitte möglichst nur diffs anbringen, die auch verwendet werden können. :roll:

@nirvana
mein CVS will sich nicht mehr updaten
cvs ist immer für einige Rätsel gut. 8) Ich vermute mal dass Du da irgendwelche Sticky-Optionen drin hast.
Vermutlich einige lokale -kx-Optionen bei einigen Files. Evtl. -kk-Optionen. Kann aber nicht ganz erklären wie die dahin gekommen sein sollen.
Für betroffenen Files kann man das in etwa so entfernen.

Code: Alles auswählen

cvs  update -A "dmx.cpp" "dmx.h" "SIevents.cpp" "SIevents.hpp" "sectionsd.cpp"
ODER
Welche Files betroffen sind, steht in ...daemons/sectionsd/CVS/Entries. Die Einträge müssten da entprechend geändert werden.
Normalerweise wird dann auch beim updaten wieder automatisch gemergt.
Ansonsten nochmal in den sectionsd-Ordner wechseln und updaten:

Code: Alles auswählen

cvs  update -P
Dann sollte eigentlich das diffen und mergen gehen!
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

hab riker grad per mail ein diff und die cpp gesendet. wenn es bei ihm compiliert und artig läuft, stelle ich gern das diff hier ein (oder wem anderes per mail).

aber bevor es eingecheckt wird, sollten wir es vlt erst ein klein wenig testen. *nur-so-als-vorschlag*

mfg
ich
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

@Innu
unbedingt!
Zuletzt geändert von dbt am Samstag 9. Juni 2007, 14:13, insgesamt 1-mal geändert.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

@Innu
Wenn Riker einen Snap baut werde ich erst einmal von vorne bis hinten
testen. Schön das Du ihm die Dateien zur Verfügung stellst.

CVS hat noch Zeit, Änderungen sind noch zu frisch!


Gruß
____Paule
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Beitrag von Gaucho316 »

Es gibt jetzt einen neuen Test-Snapshot von Riker.
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Gaucho316 hat geschrieben:Es gibt jetzt einen neuen Test-Snapshot von Riker.
Ja, und sectionsd läuft verdammt gut und schnell damit.
Langzeittest folgt.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

... koennte jemand den sectionsd als bin-file hier bereitstellen ?
... nicht jeder mag sich gleich ein neues image flashen wollen.
dankeschoen
cu token
sagem-avia600_enx-1xi-cable-telecom
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

also bei mir mit sectionsd scan an, wird nach 5stunden soo lahm, das nix mehr geht.
das war auch mit der vorgängerversion so.
ohne scan gehts i.o.
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

mb405 hat geschrieben:also bei mir mit sectionsd scan an, wird nach 5stunden soo lahm, das nix mehr geht.
Bei mir nicht! Ich habe aber auch nur 4 Satelliten.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Ich werde heute auch in die Testphase einsteigen und dann entsprechend berichten...


Gruß
____Paule
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich hab jetzt den epgfilter so gesetzt, das nur now/next gelesen werden. damit rennt der jetzt schon seit gestern abend durch :)
ich werde weiter testen.
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Was mir nach einiger Laufzeit aufgefallen ist:

Irgendwann scheint was voll zu laufen, EPG wird im Now/Next korrekt angezeigt, aber in der Übersicht nach OK verschwinden nach und nach die Einträge und kommen nach ZAP auf die betreffenden Programme trotz korrektem Now/Next auch nicht mehr wieder.

Meine Einstellungen:
3 Tage, 3000/6000 Einträge (scheint bei 6000 länger zu dauern), 2 Stunden zurück, 6 Stunden Details.

cu
Jens

P.S.: EPG-Filter filtert bis auf ca. 75 Kanäle alle anderen auf Now/Next only.
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

@jens

Ja, das ist bestätigt. Ist aber schon im CVS so. Das passiert so:
- Events werden gelöscht weil > Eventschranke
- Events werden nicht hinzugefügt, weil schon gelesen.
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

... nirvana schrieb "irgendwas ist bei dem Ding noch leicht suspect. Eben ist die Box abgeschmiert. "
... dies ist bei mir hier auch seit dem rwlock -> nirvana hast du da schon was gefunden ?
... bei mir wird sehr schnell wieder der speicher verbraten !
cu token
sagem-avia600_enx-1xi-cable-telecom
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Ja, mit der cpp die ich oben gepostet habe ist sectionsd bei mir noch nicht abgestürzt.
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

@nirvana:
ist das schon im CVS ?
weil am 10.06. war es noch nicht drin und demzufolge buggy.
poste das ding bitte nochmal (wegens der uebersicht) - oder haenge bitte gleich mal ein binaer-file dran ?!"
cu token

edit:
ich muss also im aktuellen 1.242 sectionsd.cpp das "mutex" mit "rwlock"
tauschen ?
ausser "TimeThreadSleepMutex" -> der bleibt auf mutex stehen ?
sehe ich das richtig ?

2.edit:
static pthread_rwlock_t eventsLock = PTHREAD_RWLOCK_INITIALIZER; // Unsere (fast-)mutex, damit nicht gleichzeitig in die Menge events geschrieben und gelesen wird
static pthread_rwlock_t servicesLock = PTHREAD_RWLOCK_INITIALIZER; // Unsere (fast-)mutex, damit nicht gleichzeitig in die Menge services geschrieben und gelesen wird
static pthread_rwlock_t transpondersLock = PTHREAD_RWLOCK_INITIALIZER; // Unsere (fast-)mutex, damit nicht gleichzeitig in die Menge transponders geschrieben und gelesen wird
static pthread_rwlock_t bouquetsLock = PTHREAD_RWLOCK_INITIALIZER; // Unsere (fast-)mutex, damit nicht gleichzeitig in die Menge bouquets geschrieben und gelesen wird
static pthread_rwlock_t messagingLock = PTHREAD_RWLOCK_INITIALIZER;

und

inline void lockServices(void)
{
pthread_rwlock_lock(&servicesLock);
}

inline void unlockServices(void)
{
pthread_rwlock_unlock(&servicesLock);
}

inline void lockMessaging(void)
{
pthread_rwlock_lock(&messagingLock);
}

inline void unlockMessaging(void)
{
pthread_rwlock_unlock(&messagingLock);
}

inline void readLockEvents(void)
{
pthread_rwlock_rdlock(&eventsLock);
}

inline void writeLockEvents(void)
{
pthread_rwlock_wrlock(&eventsLock);
}

inline void unlockEvents(void)
{
pthread_rwlock_unlock(&eventsLock);
}

inline void lockTransponders(void)
{
pthread_rwlock_lock(&transpondersLock);
}

inline void unlockTransponders(void)
{
pthread_rwlock_unlock(&transpondersLock);
}

inline void lockBouquets(void)
{
pthread_rwlock_lock(&bouquetsLock);
}

inline void unlockBouquets(void)
{
pthread_rwlock_unlock(&bouquetsLock);
}
sagem-avia600_enx-1xi-cable-telecom
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

nee, das funktioniert so nicht - das waere ja auch zu einfach ;)

sectionsd.cpp: In function `void lockServices()':
sectionsd.cpp:210: error: `pthread_rwlock_lock' undeclared (first use this function)
sectionsd.cpp:210: error: (Each undeclared identifier is reported only once for each function it appears in.)
sectionsd.cpp: In function `void lockMessaging()':
sectionsd.cpp:220: error: `pthread_rwlock_lock' undeclared (first use this function)
sectionsd.cpp: In function `void lockTransponders()':
sectionsd.cpp:245: error: `pthread_rwlock_lock' undeclared (first use this function)
sectionsd.cpp: In function `void lockBouquets()':
sectionsd.cpp:255: error: `pthread_rwlock_lock' undeclared (first use this function)
sectionsd.cpp: At global scope:
sectionsd.cpp:418: warning: 'void removeEPGFilter(t_original_network_id, t_transport_stream_id, t_service_id)' defined but not used
make[4]: *** [sectionsd.o] Fehler 1
make[4]: Verlasse Verzeichnis '/home/token/tuxbox/tuxbox-cvs/apps/tuxbox/neutrino/daemons/sectionsd'
make[3]: *** [all-recursive] Fehler 1
make[3]: Verlasse Verzeichnis '/home/token/tuxbox/tuxbox-cvs/apps/tuxbox/neutrino/daemons'
make[2]: *** [all-recursive] Fehler 1
make[2]: Verlasse Verzeichnis '/home/token/tuxbox/tuxbox-cvs/apps/tuxbox/neutrino'
make[1]: *** [all] Fehler 2
make[1]: Verlasse Verzeichnis '/home/token/tuxbox/tuxbox-cvs/apps/tuxbox/neutrino'
make: *** [/home/token/tuxbox/dbox2/cdkflash/root-neutrino] Fehler 2
Ready .... press Enter

nirvana, please help ! :)
cu token
sagem-avia600_enx-1xi-cable-telecom
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

@token
Nirvana hat geschrieben:Ja, mit der cpp die ich oben gepostet habe ist sectionsd bei mir noch nicht abgestürzt.
läuft sehr gut.

innu
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

@innu:
kannst du mal nochmal ein howto geben ?
ich checke das noch nicht - basis ist hier aktuelles cvs mit sectionsd.cpp 1.242 und der sectionsd.cpp 1.237 patched by nirvana.
was muss ich wo / wie machen ? sorry, aber wie schon erwaehnt, mit dem mergen hab ich es noch nicht so.
danke !
cu token
sagem-avia600_enx-1xi-cable-telecom
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

ich hab meine cpp ins tuxupload gelegt und zusätzlich ein diff, falls es jemand einchecken möchte
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

merci :) das hilft erstmal weiter.
wer checkt mal bitte das diff ein ?
cu token
sagem-avia600_enx-1xi-cable-telecom