| 1 | /*
|
|---|
| 2 | * asio_bug.cpp
|
|---|
| 3 | * Created by alxn1 on 27/06/2013.
|
|---|
| 4 | */
|
|---|
| 5 |
|
|---|
| 6 | #include <iostream>
|
|---|
| 7 | #include <signal.h>
|
|---|
| 8 |
|
|---|
| 9 | #include <boost/asio.hpp>
|
|---|
| 10 | #include <boost/bind.hpp>
|
|---|
| 11 |
|
|---|
| 12 | boost::asio::io_service io;
|
|---|
| 13 | boost::asio::signal_set ss(io, SIGHUP);
|
|---|
| 14 |
|
|---|
| 15 | void signal_callback(const boost::system::error_code& ec, int signo)
|
|---|
| 16 | {
|
|---|
| 17 | std::cout << "signal " << signo << " received" << std::endl;
|
|---|
| 18 | ss.async_wait(boost::bind(signal_callback, _1, _2));
|
|---|
| 19 | }
|
|---|
| 20 |
|
|---|
| 21 | int main (int argc, char * const argv[])
|
|---|
| 22 | {
|
|---|
| 23 | ss.async_wait(boost::bind(signal_callback, _1, _2));
|
|---|
| 24 |
|
|---|
| 25 | while(true)
|
|---|
| 26 | io.run();
|
|---|
| 27 |
|
|---|
| 28 | return 0;
|
|---|
| 29 | }
|
|---|