aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/uipc_mqueue.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Change msleep() and tsleep() to not alter the calling thread's priorityJohn Baldwin2006-04-171-2/+2
| | | | | | | | | | | | | | | if the specified priority is zero. This avoids a race where the calling thread could read a snapshot of it's current priority, then a different thread could change the first thread's priority, then the original thread would call sched_prio() inside msleep() undoing the change made by the second thread. I used a priority of zero as no thread that calls msleep() or tsleep() should be specifying a priority of zero anyway. The various places that passed 'curthread->td_priority' or some variant as the priority now pass 0. Notes: svn path=/head/; revision=157815
* Let kernel POSIX timer code and mqueue code to use integer as a resourceDavid Xu2006-03-011-12/+12
| | | | | | | | handle, the timer_t and mqd_t types will be a pointer which userland will define it. Notes: svn path=/head/; revision=156134
* Abstract function mqfs_create_node() to create a mqueue node.David Xu2006-02-221-67/+76
| | | | Notes: svn path=/head/; revision=155889
* Replace selwakeuppri with selwakeup, let scheduler figure outDavid Xu2005-12-161-4/+4
| | | | | | | appropriate thread priority. Notes: svn path=/head/; revision=153477
* Stop fiddling thread priority with msleep, eliminating unnecessaryDavid Xu2005-12-121-2/+2
| | | | | | | context switching. This improves performance about 30% on UP machine. Notes: svn path=/head/; revision=153332
* Comment out mqfs_create_link. Inline some small functions.David Xu2005-12-091-4/+4
| | | | Notes: svn path=/head/; revision=153254
* o Turn on MPSAFE flag for mqueuefs.David Xu2005-12-061-4/+3
| | | | | | | | o Reuse si_mqd field in siginfo_t, this also gives userland information about which descriptor is notified. Notes: svn path=/head/; revision=153155
* After reading some documents, I realized SIGEV_NONE != NULL, alsoDavid Xu2005-12-051-6/+8
| | | | | | | fix code in mqueue_send_notification to handle SIGEV_NONE. Notes: svn path=/head/; revision=153100
* Handle SIGEV_NONE, if notification is SIGEV_NONE, error status andDavid Xu2005-12-051-3/+4
| | | | | | | | return status will be set, but no notification will be registered. Increase hard limit of maxmsg to 100, so posixtestsuite ports can run. Notes: svn path=/head/; revision=153099
* 1. Cleanup including.David Xu2005-12-021-5/+4
| | | | | | | 2. Set configuration value for CTL_P1003_1B_MESSAGE_PASSING. Notes: svn path=/head/; revision=153019
* 1. Check if message priority is less than MQ_PRIO_MAX.David Xu2005-12-021-3/+4
| | | | | | | | 2. Use getnanotime instead of getnanouptime. 3. Don't free message in _mqueue_send, mqueue_send will free it. Notes: svn path=/head/; revision=153011
* Last step to make mq_notify conform to POSIX standard, If the processDavid Xu2005-11-301-106/+219
| | | | | | | | has successfully attached a notification request to the message queue via a queue descriptor, file closing should remove the attachment. Notes: svn path=/head/; revision=152948
* Fix a stupid compiler warining, remove a redundant line.David Xu2005-11-271-1/+1
| | | | Notes: svn path=/head/; revision=152864
* Change filesystem name from mqueue to mqueuefs for style consistent.David Xu2005-11-271-2/+2
| | | | | | | Suggested by: rwatson Notes: svn path=/head/; revision=152853
* Bring in experimental kernel support for POSIX message queue.David Xu2005-11-261-0/+2358
Notes: svn path=/head/; revision=152825