| Great!
============================================
Michael Gogins
gogins at pipeline period com
Irreducible Productions
CsoundVST, an extended version of Csound for programming music and sound
Available at http://sourceforge.net/projects/csound/
============================================
----- Original Message -----
From: "Matt J. Ingalls"
To: "Csound Developers Discussion List"
Sent: Monday, November 24, 2003 8:37 PM
Subject: [CSOUND-DEV:3496] Re: Musmon, cleanup(), csoundCleanup()
>
> i am as of last week.
>
> anyway, im not suggesting to do anything - other than make sure any
> csoundlib host calls csoundCleanup() when a performance is
> terminated (prematurely with errors, or not)
>
> as for the code i included, it came directly from canonical sources.
> sorry for my inability to write coherently --
>
> -m
>
> On Mon, 24 Nov 2003, Michael Gogins wrote:
>
> > Sorry to keep harping on this string - please become a developer on
Csound
> > SourceForge CVS? Then you won't have to send us these emails, and we
won't
> > have to remember to do as you suggest.
> >
> > ============================================
> > Michael Gogins
> > gogins at pipeline period com
> > Irreducible Productions
> > CsoundVST, an extended version of Csound for programming music and sound
> > Available at http://sourceforge.net/projects/csound/
> > ============================================
> >
> >
> > ----- Original Message -----
> > From: "Matt J. Ingalls"
> > To: "Csound Developers Discussion List"
> > Sent: Monday, November 24, 2003 2:36 PM
> > Subject: [CSOUND-DEV:3494] Re: Musmon, cleanup(), csoundCleanup()
> >
> >
> > >
> > > if performances are interrupted "cleanly" they should call cleanup() -
> > > the setjmp works pretty good this way, ive had very little problems
not
> > > cleaning up properly as long as i check the return of every
> > > performBuffer/perormKsmps call, and then call cleanup() in the api.
only
> > > times that there is not a proper
> > > cleanup is a crash.
> > >
> > > also i should mention my previous response, i had a typo and in
musmon()
> > > the cleanup() is called when !runincomponents - the actual code is:
> > >
> > > if (runincomponents) {
> > > if (frsturnon != NULL) /* if something in turnon list
*/
> > > kturnon(); /* turnon now
*/
> > > return 0; /* we exit here playevents
later*/
> > > }
> > > playevents(); /* play all events in the score
*/
> > > return cleanup();
> > >
> > > and it looks like in csound5, msumon() is used for running in
> > > components(reentrant via api) and musmon2 is used for oldstyle
straight
> > > through, which is why musmon2() calls cleanup() and musmon() doesnt?
> > >
> > > -m
> > >
> > >
> > >
> > >
> > > On Mon, 24 Nov 2003, Michael Gogins wrote:
> > >
> > > > If all performances ended normally, it would only be necessary to
call
> > reset
> > > > after performing. But if a performance is interrupted, I thought it
> > might be
> > > > necessary to call reset before performing again. I also found that
> > putting a
> > > > call to reset before performing helped me catch some bugs in other
reset
> > > > code (not setting pointers to null at the very beginning, failing to
> > check
> > > > for null pointers in other reset calls, etc.).
> > > >
> > > > It would be simpler to all reset ONLY before performing, but then if
> > Csound
> > > > allocates a huge heap of memory during performance, that remains
locked
> > up
> > > > and unavailable after performance and until the next performance.
> > > >
> > > > So I think calling reset both before and after performing is
actually
> > best.
> > > > If that's not the order you found in your graph, then the order
should
> > be
> > > > changed.
> > > >
> > > > ============================================
> > > > Michael Gogins
> > > > gogins at pipeline period com
> > > > Irreducible Productions
> > > > CsoundVST, an extended version of Csound for programming music and
sound
> > > > Available at http://sourceforge.net/projects/csound/
> > > > ============================================
> > > >
> > > >
> > > > ----- Original Message -----
> > > > From: "stevenyi"
> > > > To: "Csound Developers Discussion List"
> > > > Sent: Sunday, November 23, 2003 1:07 AM
> > > > Subject: [CSOUND-DEV:3463] Musmon, cleanup(), csoundCleanup()
> > > >
> > > >
> > > > > Hi all,
> > > > >
> > > > > I noticed in the call graph I generated from running csound4, if
using
> > > > > ccsound.c and csound.c, reset() gets called twice in a run, once
at
> > the
> > > > > end of musmon(), and again when calling csoundCleanup().
> > > > >
> > > > > Looking at csound5 cvs, musmon2 calls reset as well, and maybe
there's
> > a
> > > > > potential for calling reset() twice here as well if
csoundCleanup() is
> > > > > called.
> > > > >
> > > > > I think this would happen only if using the csound host API to
run,
> > but
> > > > > not if using jpff_glue.c. Don't know if it's a problem to run
> > cleanup()
> > > > > twice in a run, but seemed strange so I thought I'd mention it.
> > > > >
> > > > > Thanks,
> > > > > steven
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
> >
> |