Changeset c594489 in mainline for tetris


Ignore:
Timestamp:
2006-05-31T18:54:25Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ad123964
Parents:
1c20e22
Message:

More things to make tetris helenos compatibile.

Location:
tetris
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tetris/screen.c

    r1c20e22 rc594489  
    4343
    4444#include <err.h>
    45 #include <setjmp.h>
    46 #include <signal.h>
     45//#include <setjmp.h>
     46//#include <signal.h>
    4747#include <stdio.h>
    4848#include <stdlib.h>
     
    205205
    206206/* this foolery is needed to modify tty state `atomically' */
    207 static jmp_buf scr_onstop;
    208 
    209 static void
    210 stopset(int sig)
    211 {
    212         sigset_t sigset;
    213 
    214         (void) signal(sig, SIG_DFL);
    215         (void) kill(getpid(), sig);
    216         sigemptyset(&sigset);
    217         sigaddset(&sigset, sig);
    218         (void) sigprocmask(SIG_UNBLOCK, &sigset, (sigset_t *)0);
    219         longjmp(scr_onstop, 1);
    220 }
     207//static jmp_buf scr_onstop;
     208
     209/* static void */
     210/* stopset(int sig) */
     211/* { */
     212/*      sigset_t sigset; */
     213
     214/*      (void) signal(sig, SIG_DFL); */
     215/*      (void) kill(getpid(), sig); */
     216/*      sigemptyset(&sigset); */
     217/*      sigaddset(&sigset, sig); */
     218/*      (void) sigprocmask(SIG_UNBLOCK, &sigset, (sigset_t *)0); */
     219/*      longjmp(scr_onstop, 1); */
     220/* } */
    221221
    222222static void
    223223scr_stop(int sig)
    224224{
    225         sigset_t sigset;
     225//      sigset_t sigset;
    226226
    227227        scr_end();
    228         (void) kill(getpid(), sig);
    229         sigemptyset(&sigset);
    230         sigaddset(&sigset, sig);
    231         (void) sigprocmask(SIG_UNBLOCK, &sigset, (sigset_t *)0);
     228/*      (void) kill(getpid(), sig); */
     229/*      sigemptyset(&sigset); */
     230/*      sigaddset(&sigset, sig); */
     231/*      (void) sigprocmask(SIG_UNBLOCK, &sigset, (sigset_t *)0); */
    232232        scr_set();
    233233        scr_msg(key_msg, 1);
     
    242242        struct winsize ws;
    243243        struct termios newtt;
    244         sigset_t sigset, osigset;
     244//      sigset_t sigset, osigset;
    245245        void (*ttou)(int);
    246246
    247         sigemptyset(&sigset);
    248         sigaddset(&sigset, SIGTSTP);
    249         sigaddset(&sigset, SIGTTOU);
    250         (void) sigprocmask(SIG_BLOCK, &sigset, &osigset);
    251         if ((tstp = signal(SIGTSTP, stopset)) == SIG_IGN)
    252                 (void) signal(SIGTSTP, SIG_IGN);
    253         if ((ttou = signal(SIGTTOU, stopset)) == SIG_IGN)
    254                 (void) signal(SIGTTOU, SIG_IGN);
    255         /*
    256          * At last, we are ready to modify the tty state.  If
    257          * we stop while at it, stopset() above will longjmp back
    258          * to the setjmp here and we will start over.
    259         */
    260         (void) setjmp(scr_onstop);
    261         (void) sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0);
     247/*      sigemptyset(&sigset); */
     248/*      sigaddset(&sigset, SIGTSTP); */
     249/*      sigaddset(&sigset, SIGTTOU); */
     250/*      (void) sigprocmask(SIG_BLOCK, &sigset, &osigset); */
     251/*      if ((tstp = signal(SIGTSTP, stopset)) == SIG_IGN) */
     252/*              (void) signal(SIGTSTP, SIG_IGN); */
     253/*      if ((ttou = signal(SIGTTOU, stopset)) == SIG_IGN) */
     254/*              (void) signal(SIGTTOU, SIG_IGN); */
     255/*      /\* */
     256/*       * At last, we are ready to modify the tty state.  If */
     257/*       * we stop while at it, stopset() above will longjmp back */
     258/*       * to the setjmp here and we will start over. */
     259/*       *\/ */
     260/*      (void) setjmp(scr_onstop); */
     261/*      (void) sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0); */
    262262        Rows = 0, Cols = 0;
    263263        if (ioctl(0, TIOCGWINSZ, &ws) == 0) {
     
    284284        if (tcsetattr(0, TCSADRAIN, &newtt) < 0)
    285285                stop("tcsetattr() fails");
    286         (void) sigprocmask(SIG_BLOCK, &sigset, &osigset);
     286/*      (void) sigprocmask(SIG_BLOCK, &sigset, &osigset); */
    287287
    288288        /*
     
    292292        if (TIstr)
    293293                putstr(TIstr);  /* termcap(5) says this is not padded */
    294         if (tstp != SIG_IGN)
    295                 (void) signal(SIGTSTP, scr_stop);
    296         if (ttou != SIG_IGN)
    297                 (void) signal(SIGTTOU, ttou);
     294/*      if (tstp != SIG_IGN) */
     295/*              (void) signal(SIGTSTP, scr_stop); */
     296/*      if (ttou != SIG_IGN) */
     297/*              (void) signal(SIGTTOU, ttou); */
    298298
    299299        isset = 1;
    300         (void) sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0);
     300//      (void) sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0);
    301301        scr_clear();
    302302}
     
    308308scr_end(void)
    309309{
    310         sigset_t sigset, osigset;
    311 
    312         sigemptyset(&sigset);
    313         sigaddset(&sigset, SIGTSTP);
    314         sigaddset(&sigset, SIGTTOU);
    315         (void) sigprocmask(SIG_BLOCK, &sigset, &osigset);
     310//      sigset_t sigset, osigset;
     311
     312/*      sigemptyset(&sigset); */
     313/*      sigaddset(&sigset, SIGTSTP); */
     314/*      sigaddset(&sigset, SIGTTOU); */
     315/*      (void) sigprocmask(SIG_BLOCK, &sigset, &osigset); */
    316316        /* move cursor to last line */
    317317        if (LLstr)
     
    322322        if (TEstr)
    323323                putstr(TEstr);  /* termcap(5) says this is not padded */
    324         (void) fflush(stdout);
     324//      (void) fflush(stdout);
    325325        (void) tcsetattr(0, TCSADRAIN, &oldtt);
    326326        isset = 0;
    327327        /* restore signals */
    328         (void) signal(SIGTSTP, tstp);
    329         (void) sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0);
     328/*      (void) signal(SIGTSTP, tstp); */
     329/*      (void) sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0); */
    330330}
    331331
     
    366366        regcell so, cur_so = 0;
    367367        int i, ccol, j;
    368         sigset_t sigset, osigset;
     368//      sigset_t sigset, osigset;
    369369        static const struct shape *lastshape;
    370370
    371         sigemptyset(&sigset);
    372         sigaddset(&sigset, SIGTSTP);
    373         (void) sigprocmask(SIG_BLOCK, &sigset, &osigset);
     371/*      sigemptyset(&sigset); */
     372/*      sigaddset(&sigset, SIGTSTP); */
     373/*      (void) sigprocmask(SIG_BLOCK, &sigset, &osigset); */
    374374
    375375        /* always leave cursor after last displayed point */
     
    466466        if (cur_so)
    467467                putpad(SEstr);
    468         (void) fflush(stdout);
    469         (void) sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0);
     468/*      (void) fflush(stdout); */
     469/*      (void) sigprocmask(SIG_SETMASK, &osigset, (sigset_t *)0); */
    470470}
    471471
  • tetris/tetris.c

    r1c20e22 rc594489  
    4646 */
    4747
    48 #include <sys/param.h>
     48//#include <sys/param.h>
    4949#include <sys/time.h>
    5050#include <sys/types.h>
     
    152152        return (tmp);
    153153}
    154        
     154
     155static void srandomdev(void)
     156{
     157        struct timeval tv;
     158
     159        gettimeofday(&tv, NULL);
     160        srandom(tv.tv_sec + tv.tv_usec / 100000);
     161}
    155162
    156163int
     
    217224                }
    218225                if (keys[i] == ' ')
    219                         strlcpy(key_write[i], "<space>", sizeof key_write[i]);
     226                        strncpy(key_write[i], "<space>", sizeof key_write[i]);
    220227                else {
    221228                        key_write[i][0] = keys[i];
     
    292299                                scr_msg(key_msg, 0);
    293300                                scr_msg(msg, 1);
    294                                 (void) fflush(stdout);
     301//                              (void) fflush(stdout);
    295302                        } while (rwait((struct timeval *)NULL) == -1);
    296303                        scr_msg(msg, 0);
Note: See TracChangeset for help on using the changeset viewer.