use servers/inet/mq.[ch] to queue messages using mq_queue() in

libdriver.  at_wini now queues messages it can't handle it receives when
waiting for an interrupt. this way it can do receive(ANY) and timeouts
should be working again (were broken for VFS, as with the advent of VFS,
at_wini could get requests from a filesystem while it was waiting for an
interrupt - as a hack, the receive() was changed to receive(HARDWARE)).

Added mq.c to libdriver, and made libdriver an actual library that
drivers link with -L../libdriver -ldriver. (So adding files, if
necessary, is easier next time.)
This commit is contained in:
Ben Gras
2007-01-12 13:33:12 +00:00
parent 8b3ddfc19f
commit b01aff70d2
13 changed files with 194 additions and 87 deletions

27
include/minix/mq.h Normal file
View File

@@ -0,0 +1,27 @@
/*
inet/mq.h
Created: Jan 3, 1992 by Philip Homburg
Copyright 1995 Philip Homburg
*/
#ifndef INET__MQ_H
#define INET__MQ_H
typedef struct mq
{
message mq_mess;
struct mq *mq_next;
int mq_allocated;
} mq_t;
_PROTOTYPE( mq_t *mq_get, (void) );
_PROTOTYPE( void mq_free, (mq_t *mq) );
_PROTOTYPE( void mq_init, (void) );
#endif /* INET__MQ_H */
/*
* $PchId: mq.h,v 1.4 1995/11/21 06:40:30 philip Exp $
*/