Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: System freeze - scanning recordings ...
Thorsten Giese wrote:
>
> Am Mittwoch, 17. September 2003 22:44 schrieben Sie:
>
> > You need to add newline characters to your printf() statements,
> > as in
> >
> > printf("in if\n");
> >
> > Alternatively you could print to stderr:
> >
> > fprintf(stderr, "in if");
> >
> > which is unbuffered.
>
> I *REALLY* should have another C/C++ primer ;) ... Sorry for the
> vi-Characters, just ignore them.
>
> Entering cRecordings::Load
> Got Filepointer
> in if
So this means you never get "in while", which indicates that
the pipe for the 'find' command doesn't return anything.
Please insert a
print("%s\n", cmd);
right after the asprintf() and then enter the command it prints
at a shell prompt. Do you get any error messages then?
Klaus
> Ok. Here another hint while playing arround. When starting through ./runvdr I
> can kill-9 it, and it respawns. When I just invoke ./vdr ... there are 2
> processes:
>
> 30628 pts/4 S 0:00 ./vdr
> 14077 pts/4 Z 0:00 [vdr] <defunct>
> 30340 ? SW 0:00 [kdvb-fe-0:0]
> 20543 pts/4 S 0:00 ./vdr
>
> Killing one brings
>
> before end (from the debug output)
>
> Killing the other brings (as exspected)
>
> Killed
>
> --CODE--CODE--CODE--
>
> // --- cRecordings
> -----------------------------------------------------------$
> $
> bool cRecordings::Load(bool Deleted)$
> {$
> fprintf(stderr, "Entering cRecordings::Load\n");$
> Clear();$
> bool result = false;$
> char *cmd = NULL;$
> asprintf(&cmd, FINDCMD, VideoDirectory, Deleted ? "*" DELEXT : "*" RECEXT);$
> FILE *p = popen(cmd, "r");$
> fprintf(stderr, "Got Filepointer\n");$
> if (p) {$
> fprintf(stderr, "in if\n");$
> char *s;$
> while ((s = readline(p)) != NULL) {$
> fprintf(stderr, "in while\n");$
> cRecording *r = new cRecording(s);$
> if (r->Name())$
> Add(r);$
> else$
> delete r;$
> }$
> pclose(p);$
> Sort();$
> result = Count() > 0;$
> }$
> else$
> Interface->Error("Error while opening pipe!");$
> free(cmd);$
> fprintf(stderr, "before end\n");$
> return result;$
> }$
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.
Home |
Main Index |
Thread Index