Bug #24
closedDCMTK erzeugt gleiche UIDs mehrfach
100%
Description
siehe [[http://forum.dcmtk.org/viewtopic.php?t=2056|Forum]]
Unter bestimmten Umständen erzeugt DCMTK gleiche UIDs: Wenn mehrfach in einer Sekunde ein Prozess mit der gleichen Process ID gestartet wird, der eine UID erzeugt.
Unter Windows werden Process IDs schnell wieder neu vergeben. Ein Tool, das einfach eine UID erzeugt, ausgibt und terminiert, erzeugt damit identische UIDs, wenn es per Skript mehrfach nacheinander aufgerufen wird.
Für diesen "Use Case" müssten wir die UID-Erzeugung ändern - z.B. Systemzeit im Millisekundenbereich berücksichtigen.
=== Kommentar JR ===
Als Testprogramm kann z.B. ''dcmgenui'' aus ''dcmmisc'' dienen.
=== Kommentar ME ===
Eine einfache Lösung wäre, den Zähler nicht mit 1 zu initialisieren, sondern mit den Millisekunden der aktuellen Uhrzeit.
Dann hätte man den Konflikt nur dann, wenn zwei Aufrufe in der gleichen Millisekunde starten würden, was sehr unwahrscheinlich ist.
=== Kommentar ME ===
In dem Zusammenhang auch noch mal über das Problem mit "abgeschnittenen" UIDs bei langem Präfix und sich dadurch ergebenden Konflikten nachdenken!
Updated by Michael Onken almost 11 years ago
- Description updated (diff)
- Private changed from No to Yes