# k6 -p214005 -s41 -n100Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ Ρ PID = 214005 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· 100 ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Ρ ΠΊΠΎΠ΄ΠΎΠΌ 41 (
SIGRTMIN
SIG = 41; TID = 4ΠΠ΄Π΅ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ (ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ
sigaction
act.sa_handler = handler;
act.sa_flags = 0;Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ
handler()static void handler(int signo)Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π±Ρ ΡΠ°Π· ΠΌΡ Π½ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ»ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΡΠΎΠΊΠ°, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΈΠ³Π½Π°Π», Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 4.Π§ΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ:
β’Β Π³Π»Π°Π²Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ (TID = 1) ΡΠΎΠ·Π΄Π°Π΅Ρ 3 Π½ΠΎΠ²ΡΡ ΠΏΠΎΡΠΎΠΊΠ° (TID = 2, 3, 4);
β’Β Π³Π»Π°Π²Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² ΠΏΠ°ΡΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², Π½ΠΎ Π² Π΅Π³ΠΎ ΠΌΠ°ΡΠΊΠ΅ Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° (41) Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π°;
β’Β Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°;
β’Β β¦ 3 ΠΏΠΎΡΠΎΠΊΠ° (TID = 2, 3, 4) ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π°;
β’Β ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π²ΡΡ ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Ρ TID = 4, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡ ΠΆΠ΅ Π² ΡΠΈΠΊΠ»Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ².
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΈΠ³Π½Π°Π» Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΡΠΎΡ ΡΠΈΠ³Π½Π°Π». ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΈΠ³Π½Π°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ (ΡΡΠ΅ΠΊ, ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ) ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π» ΠΏΠΎΠ³Π»ΠΎΡΠ°Π΅ΡΡΡ. ΠΠ°ΠΊΠΎΠΌΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² (Π² ΠΌΠ°ΡΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠ³Π½Π°Π»), Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΈΠ³Π½Π°Π»Π°, ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ; ΡΡΠΎ ΡΠ°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΎΠ±ΡΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΊ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΏΠ΅ΡΠ΅ΡΠ΅Π΄ΡΠΈΠΉ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΡΠΎΠΌ, Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (
pause();
threadfunc(NULL);Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ 4 ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½ΡΡ ΠΏΠΎΡΠΎΠΊΠ°, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΡΠΈΠ³Π½Π°Π»Π°, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ: TID = 2, 3, 4, 1. Π Π΅Π°ΠΊΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½Π° ΠΏΡΠΈΡ ΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π°:
SIG = 41, TID = 1ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π½Π° ( ΡΠ°ΠΉΠ» s7.cc):
void* threadfunc(void* data) {
Β while (true) {
Β Β SignalProcmask(0, 0, SIG_UNBLOCK, &sig, NULL);
Β delay(1);
Β SignalProcmask(0, 0, SIG_BLOCK, &sig, NULL);
Β delay(10);
Β }
}ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ β ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΌΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° (ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄Π°, ΡΠ΅ΡΠΈΠΈ ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°). Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΌΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠΈΡΠΌΠΈ, Π½ΠΎ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π²Π½ΡΡΡΠΈ Π΄Π»ΠΈΠ½Π½ΡΡ ΡΠ΅ΡΠΈΠΉ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ.
SIG = 41, TID = 1
SIG = 41; TID = 4
SIG = 41; TID = 4
SIG = 41; TID = 1
SIG = 41; TID = 1
SIG = 41; TID = 4
SIG = 41; TID = 4
SIG = 41; TID = 1
SIG = 41; TID = 2
SIG = 41; TID = 2
SIG = 41; TID = 3
SIG = 41; TID = 4Π’Π°ΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΡΠ΄ Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π·Π²Π°Π½Π° Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ Β«ΡΠΈΠ³Π½Π°Π»Π°ΠΌΠΈ Π² ΠΏΠΎΡΠΎΠΊΠ°Ρ Β», ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΠ³Π½Π°Π» Π² Π½Π΅ΠΉ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠΊΠΈ (ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΡΠ°ΠΊ: Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΡΠ°). Π ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ²(ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ, Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ»Π°Π²Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ° (TID = 1) Π² ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ (Π·Π΄Π΅ΡΡ Ρ ΠΎΡΠΎΡΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΡΠΎΡΠ²ΡΠ΅Π΅ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Β«ΡΠ΅Π°ΠΊΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»Β» Π² ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠΌΡΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ).
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ: ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡ Π΅ΠΌΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ? Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΠΌΡ ΡΠΈΠ³Π½Π°Π»Π° ( ΡΠ°ΠΉΠ» s9.cc):
#include <stdio.h>
#include <iostream.h>
#include <signal.h>
#include <unistd.h>
#include <pthread.h>
#include <time.h>
#include <sys/neutrino.h>
static void handler(int signo, siginfo_t* info, void* context) {
Β cout << "SIG = " << signo << "; TID = " << pthread_self() << endl;
}
void* threadfunc(void* data) {
Β // Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Π²ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ
Β sigset_t sig;
Β sigfillset(&sig);
Β SignalProcmask(0, 0, SIG_BLOCK, &sig, NULL);
Β // ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° ΡΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π»
Β sigemptyset(&sig);
Β sigaddset(&sig, (int)data);
Β SignalProcmask(0, 0, SIG_UNBLOCK, &sig, NULL);
Β // ΡΠΈΠΊΠ» ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡΠΈΡ
ΡΠΈΠ³Π½Π°Π»ΠΎΠ²
Β while (true) pause();
}
int main() {