summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2007-06-22 18:53:45 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2007-06-22 18:53:45 +0000
commit1d9fbe2bc2cb411a0648ce61e044ae03ce9af437 (patch)
tree4e990ada0a77d9043fd2503a9c4e9b8a7a49d3cb
parent9a4e6b07ae2fe3fd54fe9621b80ed2578e384287 (diff)
downloadkrb5-1d9fbe2bc2cb411a0648ce61e044ae03ce9af437.tar.gz
krb5-1d9fbe2bc2cb411a0648ce61e044ae03ce9af437.tar.xz
krb5-1d9fbe2bc2cb411a0648ce61e044ae03ce9af437.zip
Add new notification flags KHERR_CTX_NEWCHILD, KHERR_CTX_FOLDCHILD,
KHERR_CTX_PROGRESS for listeners of error context events to enable them to listen for child context events and progress updates. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19623 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/windows/identity/kherr/kherr.c8
-rw-r--r--src/windows/identity/kherr/kherr.h17
2 files changed, 17 insertions, 8 deletions
diff --git a/src/windows/identity/kherr/kherr.c b/src/windows/identity/kherr/kherr.c
index 3d0ea3fca9..ec83f38951 100644
--- a/src/windows/identity/kherr/kherr.c
+++ b/src/windows/identity/kherr/kherr.c
@@ -86,7 +86,9 @@ KHMEXP void KHMAPI kherr_add_ctx_handler(kherr_ctx_handler h,
filter = KHERR_CTX_BEGIN |
KHERR_CTX_DESCRIBE |
KHERR_CTX_END |
- KHERR_CTX_ERROR;
+ KHERR_CTX_ERROR |
+ KHERR_CTX_NEWCHILD |
+ KHERR_CTX_FOLDCHILD;
/* Since commit events are the most frequent, we put those
handlers at the top of the list. When dispatching a commit
@@ -1014,6 +1016,7 @@ KHMEXP void KHMAPI kherr_push_context(kherr_context * c)
if (new_context && IS_KHERR_CTX(p)) {
notify_ctx_event(KHERR_CTX_BEGIN, c);
+ notify_ctx_event(KHERR_CTX_NEWCHILD, p);
}
LeaveCriticalSection(&cs_error);
@@ -1128,6 +1131,9 @@ KHMEXP void KHMAPI kherr_release_context(kherr_context * c) {
add_event(p, e);
TDELCHILD(p, c);
+
+ notify_ctx_event(KHERR_CTX_FOLDCHILD, p);
+
kherr_release_context(p);
} else {
LDELETE(&ctx_root_list, c);
diff --git a/src/windows/identity/kherr/kherr.h b/src/windows/identity/kherr/kherr.h
index 50e8764347..d792c60689 100644
--- a/src/windows/identity/kherr/kherr.h
+++ b/src/windows/identity/kherr/kherr.h
@@ -379,13 +379,16 @@ enum kherr_context_flags {
\see kherr_add_ctx_handler()
*/
enum kherr_ctx_event {
- KHERR_CTX_BEGIN = 0x0001, /*!< A new context was created */
- KHERR_CTX_DESCRIBE=0x0002, /*!< A context was described */
- KHERR_CTX_END = 0x0004, /*!< A context was closed */
- KHERR_CTX_ERROR = 0x0008, /*!< A context switched to an error
- state */
- KHERR_CTX_EVTCOMMIT = 0x0010 /*!< A event was committed into the
- context */
+ KHERR_CTX_BEGIN = 0x00000001, /*!< A new context was created */
+ KHERR_CTX_DESCRIBE = 0x00000002, /*!< A context was described */
+ KHERR_CTX_END = 0x00000004, /*!< A context was closed */
+ KHERR_CTX_ERROR = 0x00000008, /*!< A context switched to an
+ error state */
+ KHERR_CTX_EVTCOMMIT = 0x00000010, /*!< A event was committed into
+ the context */
+ KHERR_CTX_NEWCHILD = 0x00000020, /*!< A new child context was created */
+ KHERR_CTX_FOLDCHILD = 0x00000040, /*!< A child context was folded */
+ KHERR_CTX_PROGRESS = 0x00000080, /*!< Progress marker updated for context */
};
/*! \brief Context event handler