ARGSUSED*/
| 105 | |
| 106 | /*ARGSUSED*/ |
| 107 | static int |
| 108 | logopen(struct cdev *dev, int flags, int mode, struct thread *td) |
| 109 | { |
| 110 | |
| 111 | if (log_wakeups_per_second < 1) { |
| 112 | printf("syslog wakeup is less than one. Adjusting to 1.\n"); |
| 113 | log_wakeups_per_second = 1; |
| 114 | } |
| 115 | |
| 116 | mtx_lock(&msgbuf_lock); |
| 117 | if (log_open) { |
| 118 | mtx_unlock(&msgbuf_lock); |
| 119 | return (EBUSY); |
| 120 | } |
| 121 | log_open = 1; |
| 122 | callout_reset_sbt(&logsoftc.sc_callout, |
| 123 | SBT_1S / log_wakeups_per_second, 0, logtimeout, NULL, C_PREL(1)); |
| 124 | mtx_unlock(&msgbuf_lock); |
| 125 | |
| 126 | fsetown(td->td_proc->p_pid, &logsoftc.sc_sigio); /* signal process only */ |
| 127 | return (0); |
| 128 | } |
| 129 | |
| 130 | /*ARGSUSED*/ |
| 131 | static int |
nothing calls this directly
no test coverage detected