Lines Matching defs:kctx

131 	au_kcontext_t	*kctx = GET_KCTX_PZ;
136 U2A(u)->tad_audit : kctx->auk_auditstate;
268 if (kctx->auk_policy & AUDIT_ZONENAME) {
277 if (kctx->auk_policy & AUDIT_SEQ) {
294 if (kctx->auk_policy & AUDIT_TRAIL) {
309 AS_INC(as_generated, 1, kctx);
310 AS_INC(as_audit, 1, kctx);
312 au_enqueue(kctx, s, &hadr, &sadr, size, 0);
314 AS_INC(as_totalsize, length, kctx);
334 au_kcontext_t *kctx;
342 kctx = GET_KCTX_NGZ;
363 * mutex_lock(&(kctx->auk_svc_lock)), the create/dispatch is
366 mutex_enter(&(kctx->auk_svc_lock));
368 if (kctx->auk_current_vp != NULL)
369 VN_RELE(kctx->auk_current_vp);
371 kctx->auk_current_vp = vp;
372 VN_HOLD(kctx->auk_current_vp);
375 if (!kctx->auk_output_active) {
376 kctx->auk_output_active = 1;
379 mutex_exit(&(kctx->auk_svc_lock));
381 kctx->auk_taskq =
383 (void) taskq_dispatch(kctx->auk_taskq,
385 kctx, TQ_SLEEP);
391 audit_dont_stop(void *kctx)
394 if ((((au_kcontext_t *)kctx)->auk_valid != AUK_VALID) ||
395 (((au_kcontext_t *)kctx)->auk_auditstate == AUC_NOAUDIT))
398 mutex_enter(&(((au_kcontext_t *)kctx)->auk_queue.lock));
399 cv_broadcast(&(((au_kcontext_t *)kctx)->auk_queue.write_cv));
400 mutex_exit(&(((au_kcontext_t *)kctx)->auk_queue.lock));
407 au_queue_kick(void *kctx)
411 * to do. It also helps that kctx still be valid...
414 if ((((au_kcontext_t *)kctx)->auk_valid != AUK_VALID) ||
415 (((au_kcontext_t *)kctx)->auk_auditstate == AUC_NOAUDIT))
418 if (((au_kcontext_t *)kctx)->auk_queue.cnt &&
419 ((au_kcontext_t *)kctx)->auk_queue.rd_block)
420 cv_broadcast(&((au_kcontext_t *)kctx)->auk_queue.read_cv);
423 (void) timeout(au_queue_kick, kctx,
424 ((au_kcontext_t *)kctx)->auk_queue.delay);
440 au_output_thread(au_kcontext_t *kctx)
444 (void) timeout(au_queue_kick, kctx, kctx->auk_queue.delay);
452 if (kctx->auk_auditstate == AUC_AUDITING) {
453 mutex_enter(&(kctx->auk_queue.lock));
454 while (kctx->auk_queue.head == NULL) {
456 if (kctx->auk_queue.wt_block) {
457 cv_broadcast(&(kctx->
461 kctx->auk_queue.rd_block = 1;
462 AS_INC(as_rblocked, 1, kctx);
464 cv_wait(&(kctx->auk_queue.read_cv),
465 &(kctx->auk_queue.lock));
466 kctx->auk_queue.rd_block = 0;
468 if (kctx->auk_auditstate != AUC_AUDITING) {
469 mutex_exit(&(kctx->auk_queue.lock));
470 (void) timeout(audit_dont_stop, kctx,
474 kctx->auk_queue.rd_block = 0;
476 mutex_exit(&(kctx->auk_queue.lock));
483 error = au_doorio(kctx);
490 mutex_enter(&(kctx->auk_svc_lock));
492 VN_RELE(kctx->auk_current_vp);
493 kctx->auk_current_vp = NULL;
495 kctx->auk_output_active = 0;
497 mutex_exit(&(kctx->auk_svc_lock));