home *** CD-ROM | disk | FTP | other *** search
-
-
- void SignalHandler (void)
- {
- ULONG signal;
-
- for (;;)
- {
- signal = Wait ( $(@FOREACH@sighandler@$(@LOCK@sighandler@ $(sigmask)| ))0 );
- clearbreaks();
-
- $(@FOREACH@sighandler@$(@LOCK@sighandler@
- if (signal & $(sigmask))
- {
- text_cursor (0);
- show_cursor ++;
-
- $(code)
-
- signal &= ~$(sigmask);
- } /* if */))
- } /* forever */
- termination:
- } /* SignalHandler */
-
-
- #ifdef SPC_PRE
-
- sighandler idcmpdispatcher = {
-
- signal = "IDCMP_Mask";
-
- code = %[
- {
- IMESS * im;
- IMESS imc;
-
- while (im = (IMESS *)GetMsg(Ep->win->UserPort))
- {
- SETF_ABORTCOMMAND(Ep,0);
- SETF_MSGCHECK(Ep,1);
- clearbreaks ();
-
- Code = im->Code;
- Qualifier = im->Qualifier;
-
-
- if (im->IDCMPWindow != Ep->win)
- {
- SETF_OVERIDE(Ep,0);
-
- if (GETF_COMLINEMODE(Ep))
- escapecomlinemode ();
-
- text_sync ();
-
- MShowTitle = 0;
-
- if (!GETF_ICONMODE(Ep))
- window_title ();
-
- if (text_switch (im->IDCMPWindow) == 0)
- {
- ReplyMsg ((MSG *)im);
- continue;
- }
- }
-
- Mx = im->MouseX;
- My = im->MouseY;
-
- imc = *im;
- ReplyMsg (im);
- im = NULL;
-
- switch(im->Class)
- {
- $(@FOREACH@idcmphandler@$(@LOCK@idcmphandler@
- case $(class):
- $(code)
- break; /* $(class) */
- ))
- } /* switch (class) */
-
- if (im)
- ReplyMsg ((MSG *)im);
-
- if (GETF_QUITFLAG(Ep))
- {
- dontwait = 2;
- goto boom;
- } /* if (Quitflag) */
- } /* While IntuiMessage */
- }
- %];
- };
-
- #endif
-
-