10 #include "freebsd_test_suite/macros.h"
12 #define MQNAME "/mytstqueue1"
17 struct mq_attr attr, attr2;
18 struct sigevent sigev;
22 PLAIN_REQUIRE_KERNEL_MODULE("mqueuefs", 0);
25 attr.mq_msgsize = 100;
26 mq = mq_open(MQNAME, O_CREAT | O_RDWR | O_EXCL, 0666, &attr);
29 status = mq_unlink(MQNAME);
32 status = mq_getattr(mq, &attr2);
35 if (attr.mq_maxmsg != attr2.mq_maxmsg)
36 err(1, "mq_maxmsg changed");
37 if (attr.mq_msgsize != attr2.mq_msgsize)
38 err(1, "mq_msgsize changed");
40 sigev.sigev_notify = SIGEV_SIGNAL;
41 sigev.sigev_signo = SIGRTMIN;
42 status = mq_notify(mq, &sigev);
45 status = mq_notify(mq, &sigev);
47 err(1, "mq_notify 2");
48 else if (errno != EBUSY)
49 err(1, "mq_notify 3");
50 status = mq_notify(mq, NULL);
52 err(1, "mq_notify 4");
53 status = mq_close(mq);