| |
September 2002 Hartnäckiger ZustandcService: Sicherheit IThread 2-11 2 Wenn die Lernabschnittlacheimplementierung nicht imstande ist, die Änderungen zu versöhnen und sie zu bilden langlebiges Gut, dann das PERSIST_STORE Standardausnahme wird angehoben. Wenn die gegenwärtige Verhandlungpolitik der Lernabschnittlache TRANSACTIONAL ist und Gewinde hervorrufend,IST mit einem transactional Kontext, refresh_by_pids verbunden Ursachen das folgende Verhalten: ? alle Inkarnationen mit einbezogen in den gegenwärtigen Verhandlungkontext und dazugehörig mit gegebene pids, werden erneuert. ?, wenn irgendwelche des gegebenen PIDs mit Inkarnationen sind, die selbst nicht sind dazugehörig mit der gegenwärtigen Verhandlung, das INVALID_TRANSACTION Standard Ausnahme wird angehoben. Wenn die Verhandlungpolitik der Lernabschnittlache TRANSACTIONAL ist und das Hervorrufen GewindeIST nicht mit einem transactional Kontext, die Standardausnahme verbunden TRANSACTION_REQUIRED wird angehoben. Wenn die Lernabschnittlacheimplementierung nicht imstande ist, die passenden Inkarnationen, zu erneuern PERSIST_STORE Standardausnahme wird angehoben. Anmerkung - kurze pids werden nicht zu geführt flush_by_pids und refresh_by_pids . Erröten und erneuern Sie , übernommen von CatalogBase , benehmen sich wie flush_by_pids und refresh_by_pids an allem Speichergegenstand die Inkarnationen angewendet cachiert durch das Ziel Lernabschnittlache im gleichen Kontext (ob transactional oder nicht). 2,6 Sicherheit IThread Ein Katalog (Lernabschnitt oder Lernabschnittlache) kann entweder verlegen-sicher oder verlegen-unsicher sein. A compliant Implementierung braucht nicht, verlegen-sichere Kataloge zur Verfügung zu stellen. Alle Gegenstände, die direkt oder indirekt durch einen verlegen-unsicheren Katalog bereitgestellt werden, sind verlegen-unsicher - die Anwendung muß serialize Zugang zu irgendwelchen dieser Gegenstände, gewöhnlich, indem sie a verwendet single Gewinde. Eine Speichergegenstandinkarnation, die durch einen verlegen-sicheren Katalog bereitgestellt wird, ist wie ein struct: Gleichlaufendes liest sind sicher und erfordern nicht durch die Anwendung irgendwie sich verriegeln; gleichzeitig schreibt (oder ein gelesenes Gleichlaufendes und ein Gleichlaufendes schreiben), sind nicht verlegen-sicher - Anwendung muß gegenseitigen Ausschluß sicherstellen, um Probleme zu vermeiden. Spülung eines Speichergegenstandes ist wie das Ablesen dieses Gegenstandes. einen Speichergegenstand ' zu erneuern ' ist- wie die Aktualisierung er. Weiter sind die folgenden Lernabschnittbetriebe nicht Gewindesafe (für einen gegebenen Lernabschnitt): sie sollen nicht gleichzeitig benannt werden, und kein Gewinde sollte das Ziel benutzen Lernabschnitt (oder aller im Ziellernabschnitt, wie einer Inkarnation oder einer Ablage Haupt) wenn sie benannt werden: Session::free_all Session::refresh Session::close |  |
|
| |
|
|