Procmgmt second patch:
[csql.git] / test / dbapi / Connection / threadtest1.c
blobe75a00ee80f7211be246a6488a19de84e08fba98
1 #include <stdlib.h>
2 #include <pthread.h>
3 #include <unistd.h>
4 #include <stdio.h>
5 #include <CSql.h>
6 void* print_message_function (void *ptr);
7 int flag=0;
8 int main (int argc, char **argv)
10 Connection conn;
11 DbRetVal rv = conn.open("praba","manager");
12 if (rv != 0) return 1;
13 pthread_t thread1, thread2;
14 char *message1 = "Thread 1";
15 char *message2 = "Thread 2";
16 int status;
18 pthread_create (&thread1, NULL,
19 &print_message_function, (void *) message1);
20 pthread_create (&thread2, NULL,
21 &print_message_function, (void *) message2);
23 pthread_join(thread1, (void **)&status);
24 pthread_join(thread2, (void **)&status);
25 rv = conn.close();
26 if (rv != 0) return 1;
27 exit (0);
31 void* print_message_function(void *ptr)
33 if (flag == 0) {flag =1; sleep(2); }
34 Connection conn;
35 DbRetVal rv=conn.open("praba","manager");
36 if(rv!=OK)
38 printf("Thread Return value of open %d %d\n", rv, getpid());
39 return NULL;
41 DatabaseManager *dbMgr = conn.getDatabaseManager();
42 if (dbMgr == NULL) { printf("Auth failed\n"); return NULL;}
45 TableDef tabDef;
46 tabDef.addField("f1", typeInt, 0, NULL, true, true);
47 tabDef.addField("f2", typeInt);
48 rv = dbMgr->createTable("t1", tabDef);
49 if (rv != OK) { printf("Table creation failed\n"); return NULL; }
50 printf("Table created\n");
52 rv = conn.close();
53 if (rv != OK) { printf("Thread Return value of close %d %d\n", rv, getpid()); }
54 return NULL;