[Ntop-dev] "Utility: Data Dump is broken"
Luca Deri
deri at ntop.org
Tue Sep 1 15:25:55 CEST 2009
On Sep 1, 2009, at 4:46 AM, xinan.tang at sbcglobal.net wrote:
> What do the following two statements mean?
>
> signal(SIGALRM, quitNow);
> alarm(120); /* Don't freeze */
> It will make the else branch quit execution, won't it?
>
> If so, the child process will return right away and the following
> code will not be executed. That is what I observed.
the child will quit if not able to provide a reply within 2 minutes
Luca
>
> --Xinan
>
>
> --- On Mon, 8/31/09, Luca Deri <deri at ntop.org> wrote:
>
> From: Luca Deri <deri at ntop.org>
> Subject: Re: [Ntop-dev] "Utility: Data Dump is broken"
> To: ntop-dev at unipi.it, xinan.tang at sbcglobal.net
> Date: Monday, August 31, 2009, 3:45 PM
>
>
> On Aug 26, 2009, at 9:18 PM, xinan.tang at sbcglobal.net wrote:
>
> > After several-day hacking, I finally make the Data Dump working
> again. The version based is 3.3.10.
> >
> > First, here is deadcode in http.c starting at line 2681, the
> parent will return(0) in the then branch and the child will quit
> (signal(SIGALRM, quitNow)) in the else branch. Therefore, the
> nested strncasecmp() after that will NEVER be executed, and thus
> actual function of CONST_DUMP_DATA_HTML will not be executed.
> >
> > What is the purpose to have such kind of dead code?
>
> I don't see any dead code. Can you please explain?
>
> Luca
>
> >
> > Thanks
> >
> > --Xinan
> >
> >
> >
> > -----------------
> > else {
> > *usedFork = 1;
> > /* This is zero in the parent copy of the structure */
> > if(myGlobals.childntoppid) {
> > /* father process */
> > myGlobals.numChildren++;
> > compressFile = 0;
> > if(domainNameParm != NULL) free(domainNameParm);
> > if(db_key != NULL) free(db_key);
> > if(db_val != NULL) free(db_val);
> > return(0);
> > } else {
> > detachFromTerminalUnderUnix(0);
> > /* Close inherited sockets */
> > #ifdef HAVE_OPENSSL
> > if(myGlobals.sslInitialized) closeNwSocket
> (&myGlobals.sock_ssl);
> > #endif /* HAVE_OPENSSL */
> > if(myGlobals.runningPref.webPort > 0) closeNwSocket
> (&myGlobals.sock);
> > //!#if defined(HAVE_ALARM) && defined(PARM_FORK_CHILD_PROCESS) &&
> (!defined(WIN32))
> > signal(SIGALRM, quitNow);
> > alarm(120); /* Don't freeze */
> > }
> > }
> > --------------------------------------------------
> > _______________________________________________
> > Ntop-dev mailing list
> > Ntop-dev at unipi.it
> > http://listgateway.unipi.it/mailman/listinfo/ntop-dev
>
More information about the Ntop-dev
mailing list