Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <pthread.h>
- #include <unistd.h>
- #include <sqlite3.h>
- using namespace std;
- void *poll(void *data)
- {
- int rc = 0;
- char *errMsg;
- sqlite3 *database;
- rc = sqlite3_open(":memory:", &database);
- if(rc != SQLITE_OK)
- {
- std::cout << "Cannot open memory database" << std::endl;
- }
- rc = sqlite3_exec(database, "create table if not exist table (id int, descr text)", nullptr, nullptr, &errMsg);
- if(rc != SQLITE_OK)
- {
- std::cout << "Cannot create table in SQLiteDB" << std::endl;
- }
- while(true)
- {
- std::cout << "Thread safe: " << sqlite3_threadsafe() << std::endl;
- rc = sqlite3_exec(database, "pragma page_count", nullptr, nullptr, &errMsg);
- if(rc != SQLITE_OK)
- {
- std::cout << "Select page count from DB failed " << errMsg << std::endl;
- sqlite3_free(errMsg);
- }
- usleep(100000);
- std::cout << "Select from DBSQLite" << std::endl;
- }
- }
- int main(int argc, char *argv[])
- {
- if(argc > 1)
- {
- poll(NULL);
- }
- else
- {
- cout << "Starting of sqlite DB threaded mode ..." << endl;
- pthread_t p;
- if(pthread_create(&p, NULL, poll, NULL))
- {
- cerr << "Error creating thread" << endl;
- }
- if(pthread_join(p, NULL))
- {
- cerr << "Cannot join thread" << endl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement