home *** CD-ROM | disk | FTP | other *** search
- /* public domain pause(), by ers */
-
- #include <mintbind.h>
- #include <signal.h>
- #include <errno.h>
-
- extern int __mint;
-
- void
- pause()
- {
- if (__mint)
- (void)Pause();
- /* do nothing for TOS */
- }
-
- /*
- * Aargh! Can you say "race condition"? We definitely need a Psigpause()
- * call in the MiNT kernel, but for now, we fake it...
- */
-
- void
- sigpause(mask)
- long mask;
- {
- long oldmask;
-
- if (__mint == 0) {
- /* for TOS, we just toggle the signal mask -- maybe
- * there's a pending signal that we can receive.
- */
- oldmask = sigsetmask(mask);
- sigsetmask(oldmask);
- return;
- }
-
- oldmask = Psigsetmask(mask);
- (void)Pause();
- (void)Psigsetmask(oldmask);
- }
-