Esempio n. 1
0
static void
sev_send(void *arg, nvlist_t *msg)
{
	if ((errno = sysevent_evc_publish(arg, EC_FM, ESC_FM_ERROR,
	    "com.sun", getpname(), msg, EVCH_SLEEP)) != 0)
		warn("failed to send event");
}
Esempio n. 2
0
/*
 * fps_post_ereport(nvlist_t *ereport) posts an
 * ereport to the sysevent error channel.  The error
 * channel is assumed to be established by fps-transport.so.
 */
static int
fps_post_ereport(nvlist_t *ereport)
{
	evchan_t *scp;

	if (sysevent_evc_bind(CHANNEL, &scp, BIND_FLAGS) != 0) {
		return (1);
	}

	if (sysevent_evc_publish(scp, CLASS, SUBCLASS, VENDOR,
	    PUBLISHER, ereport, EVCH_NOSLEEP) != 0) {
		return (1);
	}

	(void) sleep(1);

	(void) fflush(NULL);
	(void) sysevent_evc_unbind(scp);

	return (0);
}