home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / programming / gnuc / library / rcs / ix_expunge.c,v < prev    next >
Encoding:
Text File  |  1992-08-09  |  3.3 KB  |  180 lines

  1. head    1.4;
  2. access;
  3. symbols
  4.     version39-41:1.3;
  5. locks;
  6. comment    @ *  @;
  7.  
  8.  
  9. 1.4
  10. date    92.08.09.20.48.13;    author amiga;    state Exp;
  11. branches;
  12. next    1.3;
  13.  
  14. 1.3
  15. date    92.05.22.01.43.58;    author mwild;    state Exp;
  16. branches;
  17. next    1.2;
  18.  
  19. 1.2
  20. date    92.05.17.21.21.56;    author mwild;    state Exp;
  21. branches;
  22. next    1.1;
  23.  
  24. 1.1
  25. date    92.05.14.19.55.40;    author mwild;    state Exp;
  26. branches;
  27. next    ;
  28.  
  29.  
  30. desc
  31. @expunge function of library
  32. @
  33.  
  34.  
  35. 1.4
  36. log
  37. @change to new way of remembering open libraries
  38. get prepared to deal with ttys
  39. @
  40. text
  41. @/*
  42.  *  This file is part of ixemul.library for the Amiga.
  43.  *  Copyright (C) 1991, 1992  Markus M. Wild
  44.  *
  45.  *  This library is free software; you can redistribute it and/or
  46.  *  modify it under the terms of the GNU Library General Public
  47.  *  License as published by the Free Software Foundation; either
  48.  *  version 2 of the License, or (at your option) any later version.
  49.  *
  50.  *  This library is distributed in the hope that it will be useful,
  51.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  52.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  53.  *  Library General Public License for more details.
  54.  *
  55.  *  You should have received a copy of the GNU Library General Public
  56.  *  License along with this library; if not, write to the Free
  57.  *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  58.  *
  59.  *  $Id: ix_expunge.c,v 1.3 1992/05/22 01:43:58 mwild Exp $
  60.  *
  61.  *  $Log: ix_expunge.c,v $
  62.  *  Revision 1.3  1992/05/22  01:43:58  mwild
  63.  *  when debugging, check whether buddy allocator clean
  64.  *
  65.  * Revision 1.2  1992/05/17  21:21:56  mwild
  66.  * changed async mp to be global
  67.  *
  68.  * Revision 1.1  1992/05/14  19:55:40  mwild
  69.  * Initial revision
  70.  *
  71.  */
  72.  
  73. #define KERNEL
  74. #include "ixemul.h"
  75.  
  76. #undef DEBUG
  77.  
  78. #ifdef DEBUG
  79. #define DP(a) kprintf a
  80. #else
  81. #define DP(a)
  82. #endif
  83.  
  84. extern struct MsgPort *ix_async_mp;
  85. extern struct MsgPort *ix_tty_mp;
  86.  
  87. void
  88. ix_expunge (struct ixemul_base *ixbase)
  89. {
  90.   if (ix_async_mp) DeleteInterruptPort (ix_async_mp);
  91.   if (ix_tty_mp)   DeleteInterruptPort (ix_tty_mp);
  92.  
  93. #ifdef DEBUG
  94.   check_empty (1);
  95. #endif
  96.  
  97.   close_libraries (ixbase->ix_libs);
  98.   
  99. DP(("ix_expunge: freeing file table\n"));
  100.   FreeMem (ixbase->ix_file_tab, NOFILE * sizeof (struct file));
  101. DP(("ix_expunge: done\n"));
  102. }
  103. @
  104.  
  105.  
  106. 1.3
  107. log
  108. @when debugging, check whether buddy allocator clean
  109. @
  110. text
  111. @d19 1
  112. a19 1
  113.  *  $Id: ix_expunge.c,v 1.2 1992/05/17 21:21:56 mwild Exp $
  114. d22 3
  115. a43 6
  116. #define BASE_EXT_DECL
  117. #define BASE_PAR_DECL    struct ixemul_base *ixbase,
  118. #define BASE_PAR_DECL0    struct ixemul_base *ixbase
  119. #define BASE_NAME    ixbase->ix_intui_base
  120. #include <inline/intuition.h>
  121.  
  122. d45 1
  123. d50 2
  124. a51 17
  125. #if 0
  126.   /* no longer remembered */
  127.  
  128.   /* free kmalloc() area */
  129.   if (ixbase->ix_md.md_key) 
  130.     {
  131. DP(("ix_expunge: freeing kmalloc-memory\n"));
  132. #ifdef DEBUG
  133.       check_kalloc();
  134.       dump_remember (& ixbase->ix_md);
  135. #endif
  136.       FreeRemember (ixbase, & ixbase->ix_md.md_key, 1);
  137. DP(("ix_expunge: freed\n"));
  138.     }
  139. #endif
  140.  
  141.   DeleteInterruptPort (ix_async_mp);
  142. d57 1
  143. a57 6
  144.   CloseLibrary (ixbase->ix_mdt_base);
  145.   CloseLibrary (ixbase->ix_md_base);
  146.   CloseLibrary (ixbase->ix_mst_base);
  147.   CloseLibrary (ixbase->ix_ms_base);
  148.   
  149.   CloseLibrary (ixbase->ix_arp_base);
  150. @
  151.  
  152.  
  153. 1.2
  154. log
  155. @changed async mp to be global
  156. @
  157. text
  158. @d19 1
  159. a19 1
  160.  *  $Id: ix_expunge.c,v 1.1 1992/05/14 19:55:40 mwild Exp $
  161. d22 3
  162. d69 4
  163. @
  164.  
  165.  
  166. 1.1
  167. log
  168. @Initial revision
  169. @
  170. text
  171. @d19 1
  172. a19 1
  173.  *  $Id$
  174. d21 4
  175. a24 1
  176.  *  $Log$
  177. d44 2
  178. d64 2
  179. @
  180.