sectionsd: Handbremse los...
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
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.
sectionsd.diff
wenn Innu eine bessere lösung hat kannst ja das mit dem mergen mal beschreiben, das hilt dann garantiert mehreren weiter.
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
@all
Was ist denn nun brauchbar, quasi eincheckfähig
Bitte möglichst nur diffs anbringen, die auch verwendet werden können.
@nirvana
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.
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:
Dann sollte eigentlich das diffen und mergen gehen!
Ich muss Innu da recht geben. Es wird langsam etwas unübersichtlichInnuendo hat geschrieben:das verwirrt am ende nur.
Was ist denn nun brauchbar, quasi eincheckfähig
Bitte möglichst nur diffs anbringen, die auch verwendet werden können.
@nirvana
cvs ist immer für einige Rätsel gut. Ich vermute mal dass Du da irgendwelche Sticky-Optionen drin hast.mein CVS will sich nicht mehr updaten
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"
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
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
-
- Tuxboxer
- Beiträge: 2614
- Registriert: Montag 20. Mai 2002, 10:49
- Image: JTG-Image [IDE] Version 2.4.4
- Image: (7025SS) Merlin
-
- Einsteiger
- Beiträge: 383
- Registriert: Sonntag 7. April 2002, 14:29
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Tuxboxer
- Beiträge: 6044
- Registriert: Montag 17. November 2003, 06:48
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.
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.
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
-
- Einsteiger
- Beiträge: 383
- Registriert: Sonntag 7. April 2002, 14:29
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
-
- Einsteiger
- Beiträge: 383
- Registriert: Sonntag 7. April 2002, 14:29
@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);
}
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
-
- Einsteiger
- Beiträge: 383
- Registriert: Sonntag 7. April 2002, 14:29
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
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
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Einsteiger
- Beiträge: 383
- Registriert: Sonntag 7. April 2002, 14:29
@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
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
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Einsteiger
- Beiträge: 383
- Registriert: Sonntag 7. April 2002, 14:29