Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool interrupted(false);
- void
- signal_callback(int signum)
- {
- cout << "Caught signal: " << signum << endl;
- interrupted = true;
- }
- int
- main(int argc,
- char * argv[])
- {
- ::signal(SIGINT, signal_callback);
- string filename("foo");
- int pid(getpid());
- file_lock _file_lock(filename.c_str());
- scoped_lock<file_lock> _scoped_lock(_file_lock, try_to_lock);
- cout << "Process with PID: " << pid
- << " has lock on file: " << filename << endl;
- while(true)
- {
- //do work
- //...
- if(interrupted)
- {
- cout << "Exiting now" << endl;
- break;
- }
- cout << pid << " still holding on to lock on foo" << endl;
- ::sleep(5);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment