summaryrefslogtreecommitdiff
path: root/sys/dev/sysmon
diff options
context:
space:
mode:
authorpgoyette <pgoyette@NetBSD.org>2012-07-18 20:50:40 +0000
committerpgoyette <pgoyette@NetBSD.org>2012-07-18 20:50:40 +0000
commitc8c0bbbd72a72a20909d8507bc16ecc8c62c63df (patch)
treefe058425dbb7c80b239137684b63738b14a9228b /sys/dev/sysmon
parentc6269c125c9560770d1cfe8b908afb5371f817a8 (diff)
Release the mutex before taking a quick exit.
Diffstat (limited to 'sys/dev/sysmon')
-rw-r--r--sys/dev/sysmon/sysmon_envsys_events.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/sysmon/sysmon_envsys_events.c b/sys/dev/sysmon/sysmon_envsys_events.c
index bb906290286..735574c69e3 100644
--- a/sys/dev/sysmon/sysmon_envsys_events.c
+++ b/sys/dev/sysmon/sysmon_envsys_events.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sysmon_envsys_events.c,v 1.101 2012/07/16 13:55:01 pgoyette Exp $ */
+/* $NetBSD: sysmon_envsys_events.c,v 1.102 2012/07/18 20:50:40 pgoyette Exp $ */
/*-
* Copyright (c) 2007, 2008 Juan Romero Pardines.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysmon_envsys_events.c,v 1.101 2012/07/16 13:55:01 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysmon_envsys_events.c,v 1.102 2012/07/18 20:50:40 pgoyette Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -186,8 +186,10 @@ sme_event_register(prop_dictionary_t sdict, envsys_data_t *edata,
}
break;
}
- if (crittype == PENVSYS_EVENT_NULL && see != NULL)
+ if (crittype == PENVSYS_EVENT_NULL && see != NULL) {
+ mutex_exit(&sme->sme_mtx);
return EEXIST;
+ }
if (see == NULL) {
/*