Announcement

Collapse
No announcement yet.

Fehler beim Beenden des IIS, wenn Threadanzahl (ISAPI.dll) höher 64 ist

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler beim Beenden des IIS, wenn Threadanzahl (ISAPI.dll) höher 64 ist

    Hallo zusammen,

    wenn die Threadanzahl für den Threadpool über 64 liegt, läßt sich der IIS (Windows XP) nicht beim ersten Versuch beenden. Erst der zweite Versuch gelingt. Ursache ist in der Routine, welche den Threadpool frei gibt, zu suchen. Es wird die Funktion "WaitForMultipleObjects" verwendet, um festzustellen ob alle Threads beendet sind, bevor die Kontrolle an den IIS geht. Leider besteht ein Linit für diese Funktion von maximal 64 Objekten welche übergeben werden können. Sobald mehr übergeben werden, kommt es zu einem Fehler und die Funktion kehrt sofort zurück ohne das alle Threads beendet sind.<BR><BR>Als Lösung gibt es zwei Möglichkeiten.<BR><BR>1. Den Threadpool auf maximal 64 Threads beschränken.<BR>2. Die Unit "TISAPIThreadPool" patchen. Möglich wäre eine Schleife, welche diese Funktion mehrmals aufruft und den Threadpool in 64iger Schritten durch geht.<BR><BR>MFG<BR>André<BR><BR>Infos für die, welchen mehr Threads im Pool benötigen als 64.<BR><BR>Delphi 2005 Enterprise Sp 1<BR>Windows XP SP 2
Working...
X