From 950a3c20d5744ab9907a249520b151a176008301 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Wed, 1 Jun 1994 16:47:57 +0000 Subject: Formerly priv.h.~11~ --- libpager/priv.h | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'libpager/priv.h') diff --git a/libpager/priv.h b/libpager/priv.h index d6a51b15..5cbd47ff 100644 --- a/libpager/priv.h +++ b/libpager/priv.h @@ -20,6 +20,10 @@ #include "pager.h" #include +/* Define this if you think the kernel is sending memory_object_init + out of sequence with memory_object_terminate. */ +/* #undef KERNEL_INIT_RACE */ + struct pager { struct port_info port; @@ -54,6 +58,12 @@ struct pager int termwaiting:1; int waitingforseqno:1; +#ifdef KERNEL_INIT_RACE + /* Out of sequence object_init calls waiting for + terminations. */ + struct pending_init *init_head, *init_tail; +#endif + char *pagemap; int pagemapsize; }; @@ -76,6 +86,15 @@ struct attribute_request int attrs_pending; }; +#ifdef KERNEL_INIT_RACE +struct pending_init +{ + mach_port_t control; + mach_port_t name; + struct pending_init *next; +}; +#endif + enum page_errors { PAGE_NOERR, @@ -86,7 +105,6 @@ enum page_errors int _pager_page_errors[]; - /* Pagemap format */ /* These are binary state bits */ #define PM_PAGINGOUT 0x40 /* being written to disk */ @@ -108,7 +126,7 @@ int _pager_page_errors[]; void _pager_wait_for_seqno (struct pager *, int); -void _pager_release_seqno (struct pager *); +void _pager_release_seqno (struct pager *, int); void _pager_block_termination (struct pager *); void _pager_allow_termination (struct pager *); void _pager_pagemap_resize (struct pager *, vm_address_t); -- cgit v1.2.3