}
/*
- * MPALMOSTSAFE - acquires mplock around knote_fdclose() calls
+ * MPSAFE
*/
int
kern_close(int fd)
static void
dummy_filter_detach(struct knote *kn) {}
+/* Implemented in kern_nrandom.c */
static struct filterops random_read_filtops =
- { FILTEROP_ISFD, NULL, dummy_filter_detach, random_filter_read };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, dummy_filter_detach, random_filter_read };
static struct filterops mm_read_filtops =
- { FILTEROP_ISFD, NULL, dummy_filter_detach, mm_filter_read };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, dummy_filter_detach, mm_filter_read };
static struct filterops mm_write_filtops =
- { FILTEROP_ISFD, NULL, dummy_filter_detach, mm_filter_write };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, dummy_filter_detach, mm_filter_write };
int
mmkqfilter(struct dev_kqfilter_args *ap)
static int filt_pipewrite(struct knote *kn, long hint);
static struct filterops pipe_rfiltops =
- { FILTEROP_ISFD, NULL, filt_pipedetach, filt_piperead };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, filt_pipedetach, filt_piperead };
static struct filterops pipe_wfiltops =
- { FILTEROP_ISFD, NULL, filt_pipedetach, filt_pipewrite };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, filt_pipedetach, filt_pipewrite };
MALLOC_DEFINE(M_PIPE, "pipe", "pipe structures");
}
static struct filterops ttyread_filtops =
- { FILTEROP_ISFD, NULL, filt_ttyrdetach, filt_ttyread };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, filt_ttyrdetach, filt_ttyread };
static struct filterops ttywrite_filtops =
- { FILTEROP_ISFD, NULL, filt_ttywdetach, filt_ttywrite };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, filt_ttywdetach, filt_ttywrite };
int
ttykqfilter(struct dev_kqfilter_args *ap)
* kqueue ops for pseudo-terminals.
*/
static struct filterops ptcread_filtops =
- { FILTEROP_ISFD, NULL, filt_ptcrdetach, filt_ptcread };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, filt_ptcrdetach, filt_ptcread };
static struct filterops ptcwrite_filtops =
- { FILTEROP_ISFD, NULL, filt_ptcwdetach, filt_ptcwrite };
+ { FILTEROP_ISFD|FILTEROP_MPSAFE, NULL, filt_ptcwdetach, filt_ptcwrite };
static int
ptckqfilter(struct dev_kqfilter_args *ap)