Adding data types tests for double and float
[csql.git] / include / Process.h
bloba3132223a0347dac3b877b51f7a50211abb49cb7
1 /***************************************************************************
2 * Copyright (C) 2007 by www.databasecache.com *
3 * Contact: praba_tuty@databasecache.com *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 ***************************************************************************/
16 #ifndef PROCESS_H
17 #define PROCESS_H
19 #include<os.h>
20 #include<ErrorType.h>
21 #include<Mutex.h>
22 #include<Transaction.h>
24 class ProcInfo
26 public:
28 pid_t pid_;
30 int numThreads_;
34 class ThreadInfo
36 public:
38 pid_t pid_;
40 pthread_t thrid_;
42 Transaction *trans_;
44 Mutex *want_; //single mutex which we are waiting for.
46 Mutex *has_[MAX_MUTEX_PER_THREAD]; //list of mutexes held
47 void init();
50 class Database;
52 class ProcessManager
54 public:
55 static int noThreads;
56 static Mutex mutex;
57 static caddr_t sysAddr;
58 static caddr_t usrAddr;
59 static Database *systemDatabase;
60 //ThreadInfo *thrInfo;
61 ProcessManager() { }
62 DbRetVal registerThread();
63 DbRetVal deregisterThread();
64 static DbRetVal addMutex(Mutex *mutex);
65 static DbRetVal removeMutex(Mutex *mutex);
66 static DbRetVal setTransaction(Transaction *trans);
69 #endif