/*
* main.cpp
*
* Created on: 18.03.2017
* Author: sylwek
*/
#include <pthread.h>
#include <stdint.h>
#include <cstdio>
#include <unistd.h>
#include <csignal>
volatile bool $run = true;
static void quitHandler(int __attribute__((unused)) signum)
{
$run = false;
}
void setupQuitHandler()
{
struct sigaction action;
action.sa_handler = quitHandler;
action.sa_flags = SA_RESETHAND;
if (sigemptyset(&action.sa_mask) < 0) printf("[SetupQuit] sigemptyset");
if (sigaction(SIGINT, &action, nullptr) < 0) printf("[SetupQuit] sigaction SIGINT");
if (sigaction(SIGQUIT, &action, nullptr) < 0) printf("[SetupQuit] sigaction SIGQUIT");
if (sigaction(SIGTERM, &action, nullptr) < 0) printf("[SetupQuit] sigaction SIGTERM");
if (sigaction(SIGABRT, &action, nullptr) < 0) printf("[SetupQuit] sigaction SIGABRT");
}
int main(int argc, char **argv) {
setupQuitHandler();
while($run)
{
sleep(1);
printf("Do nothing! \n");
}
}
LyoKICogbWFpbi5jcHAKICoKICogIENyZWF0ZWQgb246IDE4LjAzLjIwMTcKICogICAgICBBdXRob3I6IHN5bHdlawogKi8KI2luY2x1ZGUgPHB0aHJlYWQuaD4KI2luY2x1ZGUgPHN0ZGludC5oPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRlIDxjc2lnbmFsPgoKdm9sYXRpbGUgYm9vbCAkcnVuID0gdHJ1ZTsKCnN0YXRpYyB2b2lkIHF1aXRIYW5kbGVyKGludCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBzaWdudW0pCnsKICAgICRydW4gPSBmYWxzZTsKfQoKdm9pZCBzZXR1cFF1aXRIYW5kbGVyKCkKewogICAgc3RydWN0IHNpZ2FjdGlvbiBhY3Rpb247CiAgICBhY3Rpb24uc2FfaGFuZGxlciA9IHF1aXRIYW5kbGVyOwogICAgYWN0aW9uLnNhX2ZsYWdzID0gU0FfUkVTRVRIQU5EOwoKICAgIGlmIChzaWdlbXB0eXNldCgmYWN0aW9uLnNhX21hc2spIDwgMCkgcHJpbnRmKCJbU2V0dXBRdWl0XSBzaWdlbXB0eXNldCIpOwoKICAgIGlmIChzaWdhY3Rpb24oU0lHSU5ULCAmYWN0aW9uLCBudWxscHRyKSA8IDApIHByaW50ZigiW1NldHVwUXVpdF0gc2lnYWN0aW9uIFNJR0lOVCIpOwogICAgaWYgKHNpZ2FjdGlvbihTSUdRVUlULCAmYWN0aW9uLCBudWxscHRyKSA8IDApIHByaW50ZigiW1NldHVwUXVpdF0gc2lnYWN0aW9uIFNJR1FVSVQiKTsKICAgIGlmIChzaWdhY3Rpb24oU0lHVEVSTSwgJmFjdGlvbiwgbnVsbHB0cikgPCAwKSBwcmludGYoIltTZXR1cFF1aXRdIHNpZ2FjdGlvbiBTSUdURVJNIik7CiAgICBpZiAoc2lnYWN0aW9uKFNJR0FCUlQsICZhY3Rpb24sIG51bGxwdHIpIDwgMCkgcHJpbnRmKCJbU2V0dXBRdWl0XSBzaWdhY3Rpb24gU0lHQUJSVCIpOwp9CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKCiAgICBzZXR1cFF1aXRIYW5kbGVyKCk7CiAgICB3aGlsZSgkcnVuKQogICAgewogICAgICAgIHNsZWVwKDEpOwogICAgICAgIHByaW50ZigiRG8gbm90aGluZyEgXG4iKTsKICAgIH0KfQo=
{standard input}: Assembler messages:
{standard input}:8: Error: junk `(%rip)' after expression
{standard input}:8: Error: unsupported instruction `mov'
{standard input}:137: Error: junk `(%rip)' after expression
{standard input}:137: Error: operand type mismatch for `movzb'
{standard input}:148: Error: junk `(%rip)' after expression
{standard input}:148: Error: operand type mismatch for `movzb'