我之前的Aapche shared object可以运行的,最近突然启动不了,一直卡死。
反复跟踪后,发现时一个线程结束不了,waitfor一直在等。
先一个简单的测试程序:
用delphi7创建一个空的web service程序,选Aapche2,新建一个单元:
unit ApacheThreadTest;interface
uses
  Classes;type
  TMyThread=class(TTHread)
  public
    procedure Execute;override;
  end;implementation{ TMyThread }var
  gMyThread:TMyThread;procedure TMyThread.Execute;
beginend;initialization
  gMyThread:=TMyThread.Create(true);
finalization
  gMyThread.Free;
end.然后在Apache启动,会发现在gMyThread.Free时卡住不动,跟踪是Waitfor里面一直出不来,看起来是Resum没有效果,
这条语句一直没有执行:
function ThreadProc(Thread: TThread): Integer;
所以它认为线程一直没有结束。有别的人发现这个问题吗?