diff options
Diffstat (limited to 'regress/lib/libc_r/switch')
-rw-r--r-- | regress/lib/libc_r/switch/Makefile | 5 | ||||
-rw-r--r-- | regress/lib/libc_r/switch/switch.c | 133 |
2 files changed, 0 insertions, 138 deletions
diff --git a/regress/lib/libc_r/switch/Makefile b/regress/lib/libc_r/switch/Makefile deleted file mode 100644 index e15cfa97be8..00000000000 --- a/regress/lib/libc_r/switch/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $OpenBSD: Makefile,v 1.2 2002/01/03 00:43:48 art Exp $ - -PROG= switch - -.include <bsd.regress.mk> diff --git a/regress/lib/libc_r/switch/switch.c b/regress/lib/libc_r/switch/switch.c deleted file mode 100644 index 1d150a461af..00000000000 --- a/regress/lib/libc_r/switch/switch.c +++ /dev/null @@ -1,133 +0,0 @@ -/* $OpenBSD: switch.c,v 1.3 2002/10/12 18:59:13 marc Exp $ */ -/* - * Copyright (c) 1993, 1994, 1995, 1996 by Chris Provenzano and contributors, - * proven@mit.edu All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Chris Provenzano, - * the University of California, Berkeley, and contributors. - * 4. Neither the name of Chris Provenzano, the University, nor the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY CHRIS PROVENZANO AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL CHRIS PROVENZANO, THE REGENTS OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* ==== test_switch.c ======================================================== - * Copyright (c) 1993 by Chris Provenzano, proven@athena.mit.edu - * - * Description : Test context switch functionality. - * - * 1.00 93/08/04 proven - * -Started coding this file. - */ - -#include <pthread.h> -#include <stdio.h> -#include <errno.h> -#include <unistd.h> -#include <stdlib.h> - -#include "test.h" - -const char buf[] = "abcdefghijklmnopqrstuvwxyz"; -char x[sizeof(buf)]; -int fd = 1; - -volatile int ending = 0; - -/* ========================================================================== - * usage(); - */ -void usage(void) -{ - extern char *__progname; - printf("usage: %s [-?] [-c count]\n", __progname); - printf("count must be between 2 and 26\n"); - errno = 0; -} - -void * -new_thread(arg) - void *arg; -{ - int i; - - SET_NAME("writer"); - while (!ending) { - CHECKe(write (fd, (char *) arg, 1)); - x[(char *)arg - buf] = 1; - for (i = 0; i < 999999; i += 1) - ; - } - return NULL; -} - -int -main(argc, argv) - int argc; - char **argv; -{ - pthread_t thread; - int count = 4; - int eof = 0; - long i; - - /* Getopt variables. */ - extern int optind, opterr; - extern char *optarg; - - while (!eof) - switch (getopt (argc, argv, "c:d?")) - { - case EOF: - eof = 1; - break; - case 'c': - count = atoi(optarg); - if ((count > 26) || (count < 2)) { - count = 2; - } - break; - case '?': - usage(); - return(OK); - default: - usage(); - return(NOTOK); - } - - /* create the threads */ - for (i = 0; i < count; i++) - CHECKr(pthread_create(&thread, NULL, new_thread, - (void*)(buf+i))); - - /* give all threads a chance to run */ - sleep (2); - - ending = 1; - for (i = 0; i < count; i++) - ASSERT(x[i]); /* make sure each thread ran */ - - CHECKe(write(STDOUT_FILENO, "\n", 1)); - SUCCEED; -} |