Displaying a tcanvas in a macro

[code]
void delete_this()
{

TCanvas *c = new TCanvas;
cout << “start sleep” << endl;
gSystem->Sleep(6000);
cout << “end sleep” << endl;

}[/code]

when I run this macro like this:

root -l delete_this.C+

the TCanvas does not show up until after the “end sleep” appears. Is there any way to make the TCanvas appear immediately before the macro is finished?

void delete_this()
{

  TCanvas *c = new TCanvas;
  c->Update();
  cout << "start sleep" << endl;
  gSystem->Sleep(6000);
  cout << "end sleep" << endl;

}