source: git/factory/mminit.c @ 160f8f7

fieker-DuValspielwiese
Last change on this file since 160f8f7 was 9d7aaa, checked in by Jens Schmidt <schmidt@…>, 27 years ago
#include <config.h> added git-svn-id: file:///usr/local/Singular/svn/trunk@155 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.9 KB
Line 
1/* emacs edit mode for this file is -*- C -*- */
2/* $Id: mminit.c,v 1.1 1997-04-15 09:25:10 schmidt Exp $ */
3
4/*
5$Log: not supported by cvs2svn $
6Revision 1.0  1996/05/17 10:59:48  stobbe
7Initial revision
8
9*/
10
11#define _POSIX_SOURCE 1
12
13#include <config.h>
14
15#include <stdlib.h>
16#include <string.h>
17
18#include "memman.h"
19#include "mmprivate.h"
20
21mcb *mm_theList;
22mcb *mm_normList;
23mcb *mm_tmpList;
24
25#ifdef MDEBUG
26
27DBMCB mm_theDBused;
28DBMCB mm_theDBfree;
29DBMCB mm_tmpDBused;
30DBMCB mm_tmpDBfree;
31DBMCB mm_normDBused;
32DBMCB mm_normDBfree;
33void * mm_maxAddr;
34void * mm_minAddr;
35
36#endif /* MDEBUG */
37
38status_t mm_status;
39
40int mm_bytesUsed;
41int mm_bytesReal;
42int mm_bytesTmp;
43int mm_bytesNorm;
44
45int mm_specIndex;
46size_t mm_specSize;
47
48int mm_printMark;
49
50#if 0
51void* operator new ( size_t size )
52{
53#ifdef MDEBUG
54    return mmDBAlloc( size, "new operator",0);
55#else
56    return mmAlloc( size );
57#endif
58}
59
60void operator delete ( void* block )
61{
62#ifdef MDEBUG
63    mmDBFree( block, "delete operator",0);
64#else
65    mmFree( block );
66#endif
67}
68#endif /* 0 */
69
70int mmIsInitialized=0;
71
72int
73mmInit( void )
74{
75    int i;
76
77    if ( ! mmIsInitialized ) {
78        mm_bytesUsed = 0;
79        mm_bytesReal = 0;
80        mm_bytesTmp = 0;
81        mm_bytesNorm = 0;
82        mmNewPrintMark();
83        mmInitBlocks();
84        mmInitHeap();
85        mm_tmpList = (mcb*)malloc( MAXLIST * sizeof( mcb ) );
86        mm_normList = (mcb*)malloc( MAXLIST * sizeof( mcb ) );
87        for ( i = 0; i < MAXLIST; i++ )
88            mm_tmpList[i] = mm_normList[i] = NULL;
89        mm_theList = mm_normList;
90        mm_status = MM_NORMAL;
91        mm_specIndex = 0;
92        mm_specSize = mm_mcbSizes[0];
93#ifdef MDEBUG
94        memset(&mm_theDBused,0,sizeof(mm_theDBused));
95        memset(&mm_theDBfree,0,sizeof(mm_theDBfree));
96        memset(&mm_tmpDBused,0,sizeof(mm_tmpDBused));
97        memset(&mm_tmpDBfree,0,sizeof(mm_tmpDBfree));
98        memset(&mm_normDBused,0,sizeof(mm_normDBused));
99        memset(&mm_normDBfree,0,sizeof(mm_normDBfree));
100        mm_maxAddr = NULL;
101        mm_minAddr = NULL;
102#endif /* MDEBUG */
103    }
104    return 1;
105}
Note: See TracBrowser for help on using the repository browser.